流程:
一. 配置pom.xml文件
二. 配置application.yml文件
三. 程序启动类中使用@MapperScan()注解指定mapper(dao)接口路径
四. 使用pagehelper实现分页
一、配置pom.xml文件
<!-- boot整合web模块的依赖,此依赖中包含了springmvc的依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 整合mybatis的依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.1</version>
</dependency>
<!-- 使用mysql需要的依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 快速操作实体类 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 分页使用的依赖 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>
<build>
<!-- 如果Mapper.xml所在文件夹和controller、service同级,不在resources文件下则需要导入 -->
<resources>
<resource>
<directory>src/main/java</directory>
<filtering>false</filtering>
<includes>
<include>**/mapper/*.xml</include>
</includes>
</resource>
</resources>
</build>
二、配置application.yml文件
server:
port: 8081
#关于数据库连接的配置
spring:
datasource:
url: jdbc:mysql://localhost:3306/48topic?useUnicode=true&&characterEncoding=utf-8&serverTimezone=GMT%2B8
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis:
configuration:
map-underscore-to-camel-case: true
#打印SQL语句
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#Mapper.xml文件的位置,这个路径是和controller、service同级。
mapper-locations: classpath:com/hps/*/mapper/*.xml
#分页的配置
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
三、程序启动类中使用@MapperScan()注解指定mapper(dao)接口路径
@MapperScan()扫描dao接口的位置
vvv项目目录vvv。到此springboot整合mybatis就已经完成
四、使用pagehelper实现分页
使用pagehelper实现分页很简单,只需要在Service实现类做一些处理,Service实现类方法案例:
public PageInfo<Course> findAll(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum,pageSize);//分页
//查询分组列表
List<Course> list = courseDao.findAll();
// 获取分页信息
PageInfo<Course> pageInfo = new PageInfo<>(list);
return pageInfo;
}
返回的PageInfo中包含一些属性:
pageNum 当前页
pageSize 每页的数量
size 当前页的数量
startRow 当前页面第一个元素在数据库中的行号
endRow 当前页面最后一个元素在数据库中的行号
total 总记录数
pages 总页数
list 结果集