目录
一、分页查询+lambdaQueryWrapper
二、自定义分页查询
1、UserMapper
2、UserMapper.xml
3、测试方法
三、MybatisX插件
1、安装
2、MybatisX代码快速生成
2.1 连接数据库
2.2 操作需要生成代码的表
3、MybatisX快速生成CRUD(前提步骤2生成)
3.1 insertSelective
3.2 delByIdAndName
前言:结合前期学习扩展组合查询并且分页、MybatisX插件使用快速生成代码
一、分页查询+lambdaQueryWrapper
/**
* 分页查询+lambdaQueryWrapper
* SELECT id,name,age,email,deleted FROM user WHERE deleted=1 LIMIT ?
*/
@Test
public void testPage02(){
String name = "";
Integer ageBegin = 20;
Integer ageEnd = 30;
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.like(StringUtils.isNotBlank(name),User::getName,name)
.ge(ageBegin != null,User::getAge,ageBegin)
.le(ageEnd != null,User::getAge,ageEnd);
Page<User> page = new Page<>(1,5);
userMapper.selectPage(page,lambdaQueryWrapper);
System.out.println(page.getRecords());
System.out.println(page.getPages());
System.out.println(page.getTotal());
System.out.println(page.hasNext());
System.out.println(page.hasPrevious());
}
二、自定义分页查询
1、UserMapper
/**
* 通过年龄查询用户信息并分页
* @param page MyBatis-plus 所提供的分页地下,必须位于第一个参数
* @param age
* @return
*/
Page<User> selectPageVo(@Param("page") Page<User> page, @Param("age") Integer age);
2、UserMapper.xml
<select id="selectPageVo" resultType="com.bocai.pojo.User">
select id,name,age,email from user where age > #{age}
</select>
3、测试方法
/**
* 自定义分页功能
*/
@Test
public void testPageVo(){
Page<User> page = new Page<>(1,3);
userMapper.selectPageVo(page,20);
System.out.println(page.getRecords());
System.out.println(page.getPages());
System.out.println(page.getTotal());
System.out.println(page.hasNext());
System.out.println(page.hasPrevious());
}
三、MybatisX插件
1、安装
略
2、MybatisX代码快速生成
2.1 连接数据库
2.2 操作需要生成代码的表
3、MybatisX快速生成CRUD(前提步骤2生成)
3.1 insertSelective
3.2 delByIdAndName