mybatis mapper官网
https://github.com/abel533/Mapper/wiki
导包
<!--springboot集合mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
<!--springboot集合mybatis mapper-->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!--分页 pagehelper-->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
<!-- 阿里巴巴数据源 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
yml配置(这里忽略了数据源的配置)
# mybatis
mybatis:
mapper-locations: classpath*:mapper/*Mapper.xml # mapper.xml文件所在位置
type-aliases-package: cn.sjk.web.webdemo.model #对应实体类的包名
configuration:
map-underscore-to-camel-case: true #配置驼峰命名转换 在进行sql查询和初始化实体时mybatis会为我们自动转化
#pagehelper 分页配置文件
pagehelper:
#指定分页插件使用哪种方言
helper-dialect: sqlserver
#当该参数设置为 true 时,pageNum<=0 时会查询第一页
reasonable: true
#支持通过 Mapper 接口参数来传递分页参数,分页插件会从查询方法的参数值中,自动根据params 配 置的字段中取值,查找到合适的值时就会自动分页
support-methods-arguments: true
#增加了该参数来配置参数映射,用于从对象中根据属性名取值
params: countSql
#mybatis-mapper
mapper:
mappers:
- tk.mybatis.springboot.util.MyMapper
#insertSelective 和 updateByPrimaryKeySelective 中,是否判断字符串类型 !=''。
not-empty: false
#取回主键的方式
identity: MYSQL
mybatis-mapper配置:https://github.com/abel533/Mapper/wiki/3.config
pagehelper配置与使用:
PageHelper.startPage
方法重要提示
只有紧跟在PageHelper.startPage
方法后的第一个Mybatis的查询(Select)方法会被分页。
主要使用方法:
//第二种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.startPage(1, 10); List<User> list = userMapper.selectIf(1); //第三种,Mapper接口方式的调用,推荐这种使用方式。 PageHelper.offsetPage(1, 10); List<User> list = userMapper.selectIf(1); //第四种,参数方法调用 //存在以下 Mapper 接口方法,你不需要在 xml 处理后两个参数 public interface CountryMapper { List<User> selectByPageNumSize( @Param("user") User user, @Param("pageNum") int pageNum, @Param("pageSize") int pageSize); } //配置supportMethodsArguments=true //在代码中直接调用: List<User> list = userMapper.selectByPageNumSize(user, 1, 10);
//第五种,参数对象 //如果 pageNum 和 pageSize 存在于 User 对象中,只要参数有值,也会被分页 //有如下 User 对象 public class User { //其他fields //下面两个参数名和 params 配置的名字一致 private Integer pageNum; private Integer pageSize; } //存在以下 Mapper 接口方法,你不需要在 xml 处理后两个参数 public interface CountryMapper { List<User> selectByPageNumSize(User user); } //当 user 中的 pageNum!= null && pageSize!= null 时,会自动分页 List<User> list = userMapper.selectByPageNumSize(user);
其他调用方法看文档:
https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md