目录
一、分页查询+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 ?*/@Testpublic 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、测试方法
/*** 自定义分页功能*/@Testpublic 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 操作需要生成代码的表
注意mapper是否生成@Mapper注解
3、MybatisX快速生成CRUD(前提步骤2生成)
3.1 insertSelective
3.2 delByIdAndName