首页 归档 关于 文件 Github
×

MyBatis-Plus的集成配置

2021-04-08 18:49:28
MyBatis
  • SpringBoot
本文总阅读量(次):
本文字数统计(字):929
本文阅读时长(分):4

自定义代码配置

依赖

添加依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!-- 连接数据库 start -->
<!-- 数据库 连接 、事务-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<version>2.4.0</version>
</dependency>
<!-- 数据库 mybatis-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<!-- 数据库 mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.25</version>
</dependency>
<!-- 连接数据库 end -->

配置

配置bean使用插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
* @className: MybatisPlusConfig.java
* @description: MyBatis-Plus的插件配置
* @author: Demon
* @date 2020/8/25 11:24
*/
@Configuration
@EnableTransactionManagement
public class MybatisPlusConfig {

/**
* 分页插件
* paginationInterceptor.setLimit(你的最大单页限制数量,默认 500 条,小于 0 如 -1 不受限制);
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();

// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
paginationInterceptor.setOverflow(false);

// 设置最大单页限制数量,默认 500 条,-1 不受限制
paginationInterceptor.setLimit(-1);

// 设置数据库需要根据mp版本使用set方法,以下为3.3.2
paginationInterceptor.setDbType(DbType.MYSQL);

// 设置数据库需要根据mp版本使用set方法,以下为3.2.0
paginationInterceptor.setDialectType(DbType.MYSQL.getDb());

return paginationInterceptor;
}


}

添加事务

在实现类的 增删改方法内添加

1
@Transactional(propagation = Propagation.NESTED, rollbackFor = Exception.class)

PROPAGATION_NESTED:

如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。

PROPAGATION_REQUIRED:

支持当前事务,如果当前没有事务,就新建一个事务。

yml配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
spring:
# 数据库连接
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&allowMultiQueries=true&autoReconnect=true&useSSL=false&serverTimezone=UTC&zeroDateTimeBehavior=convertToNull
username: root
password: root
# Spring Boot 2.0及以上版本 默认选择,不需要配置
type: com.zaxxer.hikari.HikariDataSource
hikari:
# 客户端等待连接池连接的最大毫秒数
connection-timeout: 20000
# 连接池中维护的最小空闲连接数
minimum-idle: 5
# 配置最大池大小
maximum-pool-size: 12
# 允许连接在连接池中空闲的最长时间(以毫秒为单位)
idle-timeout: 300000
# 池中连接关闭后的最长生命周期(以毫秒为单位)
max-lifetime: 1200000
# 从池返回的连接的默认自动提交行为。默认值为true。
auto-commit: true

# mybatis-plus配置
mybatis-plus:
# MyBatis 配置文件
configuration:
# 映射器启用缓存
cache-enabled: false
# 查询时,关闭关联对象即时加载以提高性能
lazy-loading-enabled: false
# 不允许使用自定义的主键值(比如由程序生成的UUID 32位编码作为键值), 数据表的PK生成策略将被覆盖
use-generated-keys: false
# 对于批量更新操作缓存SQL以提高性能 SIMPLE, REUSE, BATCH
default-executor-type: reuse
# 对于未知的SQL查询,允许返回不同的结果集以达到通用的效果
multiple-result-sets-enabled: true
# 允许使用列标签代替列名
use-column-label: true
# 解决mybatis空字段null字段不返回
call-setters-on-nulls: true
# 给予被嵌套的resultMap以字段-属性的映射支持 NONE, FULL,PARTIAL
auto-mapping-behavior: partial
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 启动时是否检查 MyBatis XML 文件的存在,默认不检查。
check-config-location: false
# mapper.xml所在位置
mapper-locations: classpath*:/mapper/*Mapper.xml
完
使用NSSM把exe可执行文件注册为Windows服务,开机启动&后台运行
WebService服务端开发 - SpringBoot

本文标题:MyBatis-Plus的集成配置

文章作者:十二

发布时间:2021-04-08 18:49:28

最后更新:2022-03-24 16:44:20

原始链接:https://www.zhuqiaolun.com/2021/04/1617878968965/1617878968965/

许可协议:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

头像

十二

我想起那天夕阳下的奔跑,那是我逝去的青春。

分类

  • Blog4
  • ElasticSearch13
  • Git2
  • Go-FastDfs2
  • IDEA2
  • J-Package6
  • J-Tools21
  • Java2
  • JavaFx6
  • Kafka4
  • Linux2
  • Logger6
  • Maven5
  • MyBatis6
  • MyCat3
  • MySql2
  • Nginx5
  • OceanBase1
  • RabbitMq4
  • Redis6
  • SVN1
  • SpringBoot16
  • Tomcat6
  • WebService2
  • Windows2
  • kubernetes10

归档

  • 一月 20261
  • 十二月 20253
  • 八月 20252
  • 六月 20251
  • 二月 20251
  • 十二月 20244
  • 八月 202416
  • 六月 20241
  • 九月 20231
  • 八月 20231
  • 七月 20232
  • 八月 20222
  • 三月 202214
  • 二月 20224
  • 十一月 20211
  • 七月 20215
  • 六月 20213
  • 五月 20213
  • 四月 20211
  • 三月 202116
  • 二月 20212
  • 一月 20211
  • 十一月 202014
  • 十月 20201
  • 九月 202014
  • 八月 20205
  • 七月 20204
  • 六月 20208
  • 五月 20208

作品

我的微信 我的文件

网站信息

本站运行时间统计: 载入中...
本站文章字数统计:103.2k
本站文章数量统计:139
© 2026 十二  |  鄂ICP备18019781号-1  |  鄂公网安备42118202000044号
驱动于 Hexo  | 主题 antiquity  |  不蒜子告之 阁下是第个访客
首页 归档 关于 文件 Github