1 首先导入相关jar包
<!--spring boot整合mybatisPlus和pageHelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
<!--这里排除mybatis相关jar包,因为会和mybatisPlus中的mybatis的jar包产生冲突-->
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--导入mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
2. 然后就是yml文件修改
mybatis-plus:
mapper-locations: classpath*:mapper/**.xml
type-aliases-package: com.etouch.mapper # 接口包
#实体扫描,多个package用逗号或者分号分隔
# typeAliasesPackage: com.pm.facade.*.entity
global-config:
db-config:
#主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: auto
#驼峰下划线转换
column-underline: true
#数据库大写下划线转换
db-type: mysql
#刷新mapper 调试神器
refresh: true
configuration:
map-underscore-to-camel-case: true
cache-enabled: false
pagehelper:
reasonable: true # 禁用合理化时
support-methods-arguments: true
params: count=countSql
row-bounds-with-count: true
helper-dialect: mysql
3. 最后测试
3.1 controller层
@GetMapping("/pageHelper")
public ResultUtils<UserDTO> test(Integer start,Integer pageSize) {
PageInfo pageInfo = sysUserService.getPage(start,pageSize);
return ResultUtils.success(pageInfo);
}
3.2 service层
@Override
public PageInfo<UserDTO> getPage(Integer start, Integer pageSize) {
//写上下面这一行代码会自动进行分页
PageHelper.startPage(start, pageSize);
List<SysUser> sysUserList = userMapper.getPage();
List<UserDTO> userDTOList = BeanHelper.copyWithCollection(sysUserList, UserDTO.class);
PageInfo<UserDTO> objectPageInfo = new PageInfo(userDTOList);
return objectPageInfo;
}
mapper和xml文件就不贴了, 最简单的单表查询
3.3 运行查看结果
3.4 查看控制台输出日志
发现使用pageHelper.start()后, 他会在执行的sql中自动拼接上limit ?,?
这里使用的什么原理不清楚 , 搞清楚了, 再来丰富一下, 现在只做记录