MyBatis-Plus
(opens new window)
(简称 MP)是一个
MyBatis
(opens new window)
的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网地址:
简介 | MyBatis-Plus
用idea开发的建议安装一个mybatisx的插件,可以实现xml和dao层之间的跳转以及天生自带generator的功能
本文将对mybatis-plus引入到工程以及generator逆向工程两个功能的着重描述配置
mybatis-plus引入到工程
1、pom文件引入mybatis-plus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
</dependency>
<!--数据库连接-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
2、application.yml文件配置多数据源
spring:
application:
name: user
#自定义模块名name-ip,logback通过该字段区分日志来源
moduleName: user-dev
# 出现404错误时,抛出异常给应用层处理
mvc:
throw-exception-if-no-handler-found: true
resources:
add-mappings: false #告诉 SpringBoot 不要为我们工程中的资源文件建立映射
redis:
host: 192.168.1.1 # 服务器地址
port: 6379 # 服务端口号
database: 0 # 数据库索引
password: 1 # 服务器连接密码默认为空
jedis:
pool:
max-active: 1000 # 连接池最大连接数
max-wait: 3000 # 连接池最大阻塞等待时间
max-idle: 500 # 连接池中最大的空闲连接
min-idle: 100 # 连接池中最小的空闲连接
time-between-eviction-runs: 60000
timeout: 200 # 连接超时时间
jackson:
time-zone: Asia/Shanghai
date-format: yyyy-MM-dd HH:mm:ss
# jdbc_config datasource
datasource:
dynamic:
primary: master #设置默认的数据源或者数据源组,默认值即为master
strict: false #设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
datasource:
master:
url: jdbc:mysql://192.168.1.1:3306/user?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
maximum-pool-size: 15
auto-commit: true
idle-timeout: 30000
pool-name: springHikariCP
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
slave:
url: jdbc:mysql://192.168.1.1:3306/user2?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.zaxxer.hikari.HikariDataSource
hikari:
minimum-idle: 5
maximum-pool-size: 15
auto-commit: true
idle-timeout: 30000
pool-name: springHikariCP
max-lifetime: 1800000
connection-timeout: 30000
connection-test-query: SELECT 1
mybatis-plus:
# 配置mapper的扫描,找到所有的mapper.xml映射文件
mapper-locations: classpath:mybatis/mapper/**/*Mapper.xml
global-config:
# 主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
id-type: 0
# configuration:
# # 是否将sql打印到控制面板(该配置会将sql语句和查询的结果都打印到控制台)
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
3、主键id特殊功能实现
实现主键id既可以采用mysql的自增功能也可以手动传入id保存到db功能,此时需要对象属性为
@TableId
(value =
"id"
, type =
IdType
.
INPUT
),
如果设置为auto则无法手动传入id,如果简单设置为input则只能手动输入id无法自增,为了同时满足这两个条件,