一、Mybatisplus条件查询关键词
Mybatisplus是基于Mybatis的增强工具,在Mybatis的基础上只是进行了增强,因此其关键词和Mybatis的关键词大体相同,这些关键词包括Select、From、Where、Group By、Having、Order By等常见关键词。Mybatisplus还增加了一些特有的查询关键词,如:eq、ne、lt、le、gt、ge等,后面会讲到。
二、Mybatisplus条件查询日期
在实际项目中,我们常常需要按照日期进行查询,例如查询当天的数据、查询某个日期范围内的数据等。Mybatisplus提供了两种方式来支持日期查询:
1.通过使用实现JDBC规范的Date、Time、Timestamp类型来进行日期查询。
2.通过使用Java8中的LocalDateTime类型来进行日期查询。
// 使用JDBC规范的Date类型查询当天的数据 ListuserList = userMapper.selectList(new QueryWrapper () .lambda() .eq(User::getCreateTime, new Date())); // 使用Java8中的LocalDateTime类型查询某个日期范围内的数据 LocalDateTime startTime = LocalDateTime.now().minusDays(7); LocalDateTime endTime = LocalDateTime.now(); List userList = userMapper.selectList(new QueryWrapper () .lambda() .between(User::getCreateTime, startTime, endTime));
三、Mybatisplus条件查询叠加
叠加查询用于查询多个条件,例如查询年龄大于18岁且性别为男性的用户数据。 Mybatisplus提供了lambda方法进行叠加查询,叠加查询的条件可以通过and、or进行组合:
// 查询年龄大于18岁且性别为男性的用户数据 ListuserList = userMapper.selectList(new QueryWrapper () .lambda() .gt(User::getAge, 18) .and(user -> user.eq(User::getGender, "male")));
四、Mybatisplus条件查询 一条数据
在实际项目中,我们通常只需要查询一条数据,例如查询某个用户的详细信息。Mybatisplus提供了单表查询的方式来查询一条数据:
// 查询id为1的用户的详细信息 User user = userMapper.selectOne(new QueryWrapper() .lambda() .eq(User::getId, 1));
五、Mybatisplus条件查询分页
分页查询在实际项目中非常常见,例如在管理后台列表显示时,需要支持分页查询。Mybatisplus提供了分页查询的方式通过Page对象进行实现:
// 第1页,每页显示10条数据 Pagepage = new Page<>(1, 10); // 查询所有的用户数据并进行分页 IPage userPage = userMapper.selectPage(page, new QueryWrapper ()); // 获取分页查询结果 List userList = userPage.getRecords();
六、Mybatisplus条件查询中的eq的作用
在Mybatisplus条件查询中,一些特殊的查询关键词被定义为函数,例如在查询中使用eq可以将条件转换成等于的形式,如下:
// 将条件转换为等于的形式 new QueryWrapper() .eq("age", 18) .eq("gender", "male"); // 可以使用一下方式进行简化 new QueryWrapper () .eq("age", 18, true);
七、Mybatisplus条件查询一条
在Mybatisplus条件查询中,我们可以通过selectOne方法查询一条数据的方式来获取对应的一条数据的详细信息:
// 查询id为1的用户的详细信息 User user = userMapper.selectOne(new QueryWrapper() .lambda() .eq(User::getId, 1));
八、Mybatisplus条件查询不等于
在Mybatisplus条件查询中,我们可以使用ne函数来代替"<>"进行不等于的查询:
// 查询age不等于18的用户数据 new QueryWrapper() .ne("age", 18);
九、Mybatisplus条件查询条件
在Mybatisplus条件查询中,我们可以通过and、or等关键词将多个查询条件进行组合:
// 查询年龄大于18且性别为男性或女性的用户数据 new QueryWrapper以上就是Mybatisplus条件查询的详细介绍,具体用法基本与Mybatis相同,但是Mybatisplus使得我们更加方便快捷地进行实际项目的开发。() .lambda() .gt(User::getAge, 18) .and(user -> user.eq(User::getGender, "male").or().eq(User::getGender, "female"));