MyBatis-Plus在MyBatis的基础上只做增强,不做改变,目的是为了
简化开发,提高效率
。本专栏六篇文章围绕MyBatis-Plus的常用技术点,结合springboot,实现了对数据库记录的CRUD操作,其他文章请参考:
- 《MyBatis-Plus入门案例:查询数据库中所有记录》
- 《MyBatis-Plus添加:常用主键策略的分析及实现》
- 《MyBatis-Plus更新:自动填充与乐观锁的实现》
- 《MyBatis-Plus查询:批量、条件、分页查询的实现》
- 《MyBatis-Plus删除:物理删除与逻辑删除的实现》
- 《MyBatis-Plus高级查询:条件构造器的实现》
作者:Hudie
个人公众号/CSDN博客:编程一只蝶
项目已开源至gitee:https://gitee.com/guo-qianliang/mybatis-plus-test
项目已开源至github:https://github.com/Guoqianliang/mybatis-plus-test
为了实现复杂条件的查询,MyBatis-Plus为我们封装了一个Wrapper
对象。在下图的层次结构中,最常用的是QueryWrapper类
,QueryWrapper类中的方法比Wrapper父类更丰富更强大。
QueryWrapper类的常用方法
1.ge、gt、le、lt
下面的代码演示ge方法,gt、le、lt的使用方法与其相同:
// ge 大于等于
@Test
public void testSelect() {
// 1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2.构造条件:使用ge查询年龄大于等于21岁的记录.
queryWrapper.ge("age", 21);
List<User> users = userMapper.selectList(queryWrapper);
System.out.println(users);
}
查询方式 | 说明 |
---|---|
gt | 大于 |
ge | 大于等于 |
lt | 小于 |
le | 小于等于 |
2.eq、ne
下面的代码演示eq方法,ne的使用方法与其相同:
// eq 等于
@Test
public void testSelect1() {
// 1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2.构造条件:使用eq查询name=xiaolong的记录
queryWrapper.eq("name", "xiaolong");
List<User> users = userMapper.selectList(queryWrapper);
System.out.println(users);
}
查询方式 | 说明 |
---|---|
eq | 等于 |
ne | 不等于 |
3.between、notBetween
下面的代码演示between方法,notBetween的使用方法与其相同:
// between
@Test
public void testSelect2() {
// 1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2.构造条件:使用between查询年龄在[22,28]中的记录
queryWrapper.between("age", 22, 28);
List<User> users = userMapper.selectList(queryWrapper);
System.out.println(users);
}
查询方式 | 说明 |
---|---|
between | between条件语句 |
notBetween | notBetween 条件语句 |
4.like、notLike、likeLeft、likeRight
下面的代码演示like方法,notLike、likeLeft、likeRight的使用方法与其相同:
// like
@Test
public void testSelect3() {
// 1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2.构造条件:使用like查询name=张xx的记录
queryWrapper.like("name", "张");
List<User> users = userMapper.selectList(queryWrapper);
System.out.println(users);
}
查询方式 | 说明 |
---|---|
like | 模糊查询like |
notLike | 模糊查询not Like |
likeLeft | %模糊查询 |
likeRight | 模糊查询% |
5.orderBy、orderByDesc、orderByAsc
下面的代码演示orderBy方法,orderByDesc、orderByAsc的使用方法与其相同:
// orderByDesc
@Test
public void testSelect4() {
// 1.创建Wrapper对象
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
// 2.构造条件:使用orderByDesc根据id对查询结果降序排列
queryWrapper.orderByDesc("id");
List<User> users = userMapper.selectList(queryWrapper);
System.out.println(users);
}
查询方式 | 说明 |
---|---|
orderBy | 默认升序排序 |
orderByDesc | desc降序排序 |
orderByAsc | asc升序排序 |
至此,常见的条件构造器已经介绍完毕!