springboot项目集成Mybatisplus配置和使用

1.首先我们还是引入依赖(springboot 版本2.0.4)

<properties>
<mybatisplus-spring-boot-starter.version>1.0.5</mybatisplus-spring-boot-starter.version>
</properties>

<!-- alibaba的druid数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>${mybatisplus-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.1.9</version>
</dependency>
2.yml配置
spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/czq?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
username: root
password: 123
filters: log4j,wall,mergeStat
driver-class-name: com.mysql.jdbc.Driver
# 使用druid数据源
type: com.alibaba.druid.pool.DruidDataSource
mybatis-plus:
mapper-locations: classpath:mapping/*.xml
typeAliasesPackage: com.insert.sql.model
global-config:
id-type: 2 #0:数据库ID自增 1:用户输入id 2:全局唯一id(IdWorker) 3:全局唯一ID(uuid)
db-column-underline: false
refresh-mapper: true
configuration:
map-underscore-to-camel-case: false
cache-enabled: true #配置的缓存的全局开关
lazyLoadingEnabled: true #延时加载的开关
multipleResultSetsEnabled: true #开启的话,延时加载一个属性时会加载该对象全部属性,否则按需加载属性
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #打印sql语句,调试用
3.接下来就是测试和使用了
controller层
@RequestMapping("/getOne")
public Page getOne(Integer pageNo) {
Page page = insertService.getOne(pageNo);
return page;
}
service层
@Override
public Page getOne(Integer pageNo) {
Page page = new Page(1, pageNo);
List<Map> book1 = logs1Mapper.getOne(page, pageNo);
return page.setRecords(book1);
}
dao层
List<Map> getOne(Page page, @Param("pageNo") Integer pageNo);
xml层
<select id="getOne" resultType="java.util.Map">
select * from logs1
</select>
4.接下来在postman测试可以返回我们的分页数据。可是你会发现返回的数据中total和page总是0,者显然是不对的。因为我们缺少分页插件配置。
配置如下:
@Configuration
public class MybatisPlusConfig {
/**
* mybatis-plus分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor();
page.setDialectType("mysql");
return page;
}
}
5.再测一下吧,这就是我们想要的结果。因为这是我自己集成的,没问题








原文地址:https://www.cnblogs.com/guagua-join-1/p/9849344.html