以下记录皆基于MybatisPlus。
查看标准日志
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
分页查询
-
定义分页对象Ipage
@Test void testPage() { IPage page = new Page(1,5); bookDao.selectPage(page,null); }
- 使用MP的拦截器实现分页(分页的实际上就是动态拼接sql语句)
@Configuration public class MPConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor(){ //定义MP拦截器 MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); //添加具体的拦截器,这里是分页拦截器 interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; } }
条件查询
条件查询支持动态拼接条件,如 bookLambdaQueryWrapper.like(name!=null,Book::getName,"Spring");
,那么name不为空时将会返回ture,进行拼接
使用QueryWrapper进行查询
直接使用键名,容易出现错误
@Test
void testGetByCondition() {
QueryWrapper<Book> queryWrapper = new QueryWrapper<>();
queryWrapper.like("name","Spring");
bookDao.selectList(queryWrapper);
}
使用LambdaQueryWrapper进行查询
@Test
void testGetByCondition() {
String name = null;
LambdaQueryWrapper<Book> bookLambdaQueryWrapper = new LambdaQueryWrapper<>();
bookLambdaQueryWrapper.like(name!=null,Book::getName,"Spring");
bookDao.selectList(bookLambdaQueryWrapper);
}