在工程的pom文件的properties中添加代码,分别引入mybatis,dynamic-datasource,mysql-connector
<mybatisplus.version>3.3.1</mybatisplus.version>
<dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version>
<mysql-connector-java.version>8.0.27</mysql-connector-java.version>
在工程的pom文件中添加依赖
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatisplus.version}</version>
</dependency>
<!-- 动态数据源 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${dynamic-datasource-spring-boot-starter.version}</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-connector-java.version}</version>
<scope>runtime</scope>
</dependency>
中新建三个配置文件application.yml、application-dev.yml、application-prod.yml,dev和prod文件对应开发环境和生产环境
application.yml文件内容如下
spring:
application:
name: bs-boot-system
profiles:
active: dev
# active: prod
application-dev.yml文件内容如下
server:
port: 8082
servlet:
context-path: /bs
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
#json 时间戳统一转换
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
jpa:
open-in-view: false
aop:
proxy-target-class: true
autoconfigure:
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
dynamic:
enabled: true #启用动态数据源,默认true
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
allow:
web-stat-filter:
enabled: true
initial-size: 5
min-idle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat,wall,slf4j
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
primary: master
datasource:
master:
url: jdbc:mysql://*****:43206/bs-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true&allowMultiQueries=true
username: ****
password: ****
driver-class-name: com.mysql.cj.jdbc.Driver
#mybatis plus 设置
mybatis-plus:
# mybatis的xml文件地址
mapper-locations: classpath*:cn/com/wenyl/bs/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 打印SQL。开发环境启用
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 处理查询空值
call-setters-on-nulls: true
shiro:
excludeUrls:
application-prod.yml文件配置与dev文件相同,根据生产环境去更改地址,用户名密码信息即可
新增启动类内容如下,需要在这里配置Mapper接口的扫描路径
package cn.com.wenyl.bs;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
@MapperScan(value={"cn.com.wenyl.bs.**.mapper*"})
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
public class BSBootApplication {
public static void main(String[] args){
SpringApplication.run(BSBootApplication.class);
}
}