MyBatisPlus条件查询和分页查询
条件查询
// MyBatisPlus 提供的条件查询方法
@GetMapping("/user/findUserByUserName")
public List<User> findUserByUserName() {
// 创建SQL语句"select * from admin where username="123""
QueryWrapper<User> queryWrapper = new QueryWrapper();
queryWrapper.eq("username", "123");
return userMapper.selectList(queryWrapper);
}
QueryWrapper
(LambdaQueryWrapper) 和 UpdateWrapper
(LambdaUpdateWrapper) 的父类用于生成 sql 的 where 条件
参考MyBatisPlus官网:https://baomidou.com/pages/10c804/#abstractwrapper
分页查询
配置config类
创建PageConfig类
@Configuration
public class PageConfig {
@Bean
public MybatisPlusInterceptor PageMybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 说明数据库类型
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
}
Controller
//分页查询MyBatisPlus
@GetMapping("/user/findByPage")
public IPage findByPage() {
// 查询User表,从第0条开始,一页取2条数据
Page<User> page = new Page<>(0, 2);
//分页查询全部, 如果想按条件查询,将null换成对应条件(参考条件查询)
IPage iPage = userMapper.selectPage(page, null);
return iPage;
}