MyBatisPlus之模糊查询加分页和条件构造器
一、模糊查询和分页
前言:前面有一篇文章已经讲过mybatisplus的入门,不会的可以先去看看。这里直接讲怎么进行分页查询。
1、在mapper层写方法
List<Subject> findAllMenu1(Page subjectPage,Subject subject);
Page直接导入mybatisplus中的包
2、mapper.xml
<select id="findAllMenu1" resultType="com.sinotrans.expense.entity.Subject"> SELECT id,subject,parentId,typeId FROM subject <if test="subject!=null"> where subject like CONCAT('%',#{subject.subject},'%') </if>
3.测试类,这里直接测试mapper层的方法
@Test public void addSubject1() { Page<Subject> subjectPage=new Page(); subjectPage.setCurrent(1); //当前页 subjectPage.setSize(10); //每页数量 Subject subject=new Subject(); subject.setSubject("收入"); List<Subject> allMenu1 = subjectMapper.findAllMenu1(subjectPage,subject); System.out.println(allMenu1); }
这样就可以查询出模糊查询为“收入”的10条数据了,如果是查询所有,直接setSubject("")就可以了。
二、条件构造器
1、mybatisplus的条件构造器就是可以简写各种条件语句,
例如: eq的意思是“等于”,eq(“name”,“老王”)就相当于name=‘老王’
ge的意思是“大于或等于”,ge(“age”,18)就相当于age>=18
2、wapper介绍 :
Wrapper : 条件构造抽象类,最顶端父类,抽象类中提供4个方法
AbstractWrapper : 用于查询条件封装,生成 sql 的 where 条件
AbstractLambdaWrapper : Lambda 语法使用 Wrapper统一处理解析 lambda 获取 column。
LambdaQueryWrapper : 看名称也能明白就是用于Lambda语法使用的查询Wrapper
LambdaUpdateWrapper : Lambda 更新封装Wrapper
QueryWrapper : Entity 对象封装操作类,不是用lambda语法
UpdateWrapper : Update 条件封装,用于Entity对象更新操作
3、测试
@Test public void addSubject1() { QueryWrapper<Subject> queryWrapper = new QueryWrapper<>(); queryWrapper.ge("id",80); List<Subject> allMenu = subjectMapper.findAllMenu(queryWrapper); System.out.println(allMenu); }
这样我就可以查出id>=80的subject了。
eg:
allEq({id:1,name:“老王”,age:null})—>id = 1 and name = ‘老王’ and age is null
allEq({id:1,name:“老王”,age:null}, false)—>id = 1 and name = ‘老王’
gt(“age”, 18)—>age > 18
等等等还有很多
更多请看官方文档:mybatisplus条件构造器
- MybatisPlus之一:分页加条件查询
- MyBatis之多条件分页模糊查询
- 几种mybatis 模糊查询条件写法
- 分页查询集成模糊条件查询的写法(SSM框架)提高代码重用性
- mybatis多条件模糊查询
- 资料 mybatis 一条语句 分页查询(同时获得符合条件的总记录数)
- mybatis(3)分页查询和条件分页查询
- mybatis多条件的模糊查询解决方案
- mybatis环境搭建、模糊查询、分页、增删改、事务处理
- 解决Mybatis 分页插件pagehelper不支持逆向工程Example条件查询
- 按条件模糊查询及分页查询
- Mybatis实现增删改查、模糊查询、多条件查询
- Mybatis+Oracle实现按条件分页查询
- Mybatis+Oracle实现按条件分页查询
- MyBatis-Plus简单使用——条件构造器(5)
- Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
- mybatis接口式的模糊查询、分页、增删改、事务处理
- jfinal动态sql管理简洁实现分页多条件模糊查询
- java操作mongdb多条件复合查询(包括模糊查询和按时间段查询),分页
- mybatis分页多条件查询指定时间段数据的sql语句