项目pom依赖
父子依赖
父依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<modules>
<module>pam-server</module>
</modules>
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.3.7.RELEASE</version>
<relativePath/>
</parent>
<groupId>top.codx</groupId>
<artifactId>pam</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>pam-server-master</name>
<description>pam-server-master</description>
<properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.3.7.RELEASE</spring-boot.version>
</properties>
</project>
子依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>pam</artifactId>
<groupId>top.codx</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pam-server</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>
常用依赖
<dependencies>
<!--web 依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--lombok 依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--mysql 依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--mybatis-plus 依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.2</version>
</dependency>
</dependencies>
配置文件
application.yml
server:
# 端口
port: 8081
spring:
#数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:// ?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root
hikari:
#连接池名
pool-name: DateHikariCP
#最小空闲连接数
minimum-idle: 5
#空闲连接存活最大时间,默认600000(10分钟)
idle-timeout: 180000
#最大连接数,默认10
maximum-pool-size: 10
#从连接池返回的连接的自动提交
auto-commit: true
#连接最大存活时间,0表示永久存活,默认1800000(30分钟)
max-lifetime: 1800000
#连接超时时间,默认30000(30秒)
connection-timeout: 30000
#测试连接是否可用的查询语句
connection-test-query: SELECT 1
#Mybatis-plus配置
mybatis-plus:
#配置Mapper映射文件
mapper-locations: classpath*:/mapper/*Mapper.xml
#配置MyBatis数据返回类型别名(默认别名是类名)
type-aliases-package: top.codx.pojo
configuration:
#自动驼峰命名
map-underscore-to-camel-case: false
# Mybatis SQL 打印(方法接口所在的包,不是Mapper.xml所在的包)
logging:
level:
top.codx.mapper: debug
多数据源配置
<!--配置数据源-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
```yaml
server:
# 端口
port: 8081
spring:
#数据源配置
datasource:
dynamic:
primary: db1 #默认数据库
datasource:
db1:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://rm-bp14w3i53fef83b8q6o.mysql.rds.aliyuncs.com:21521/private_account?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: ssy
password: Mimamima10
db2:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://rm-bp14w3i53fef83b8q6o.mysql.rds.aliyuncs.com:21521/private_account?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: ssy
password: Mimamima10
hikari:
#连接池名
pool-name: DateHikariCP
#最小空闲连接数
minimum-idle: 5
#空闲连接存活最大时间,默认600000(10分钟)
idle-timeout: 180000
#最大连接数,默认10
maximum-pool-size: 10
#从连接池返回的连接的自动提交
auto-commit: true
#连接最大存活时间,0表示永久存活,默认1800000(30分钟)
max-lifetime: 1800000
#连接超时时间,默认30000(30秒)
connection-timeout: 30000
#测试连接是否可用的查询语句
connection-test-query: SELECT 1
druid:
initial-size: 5 #初始大小
max-active: 20 #最大活跃
min-idle: 5 #最小
max-wait: 60000 #最长等待时间
time-between-eviction-runs-millis: 60000 #俩次之间的间隔时间 毫秒
min-evictable-idle-time-millis: 300000 #多长时间不访问就称最小
validation-query: SELECT 1 FROM DUAL #验证查询
test-while-idle: true #是否开启闲置测试
test-on-borrow: false #在这个上测试
test-on-return: false #开启返回测试
filters: stat,wall,log4j #配置过滤器
stat:
log-slow-sql: true
#Mybatis-plus配置
mybatis-plus:
#配置Mapper映射文件
mapper-locations: classpath*:/mapper/*Mapper.xml
#配置MyBatis数据返回类型别名(默认别名是类名)
type-aliases-package: top.codx.pojo
configuration:
#自动驼峰命名
map-underscore-to-camel-case: false
# Mybatis SQL 打印(方法接口所在的包,不是Mapper.xml所在的包)
logging:
level:
top.codx.mapper: debug
properties配置
#访问端口号
server.port=8080
spring.datasource.druid.type=com.alibaba.druid.pool.DruidDataSource
#数据库相关配置
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.druid.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
# 初始化大小,最小,最大
spring.datasource.druid.initial-size=5
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=20
# 配置获取连接等待超时的时间
spring.datasource.druid.max-wait=60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒,下面是:1分钟
spring.datasource.druid.time-between-eviction-runs-millis=60000
# 配置一个连接在池中最小生存的时间,单位是毫秒,下面是:5分钟
spring.datasource.druid.min-evictable-idle-time-millis=300000
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.druid.pool-prepared-statements=true
spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
#spring.datasource.druid.filters=stat,wall,log4j,config
# asyncInit是1.1.4中新增加的配置,如果有initialSize数量较多时,打开会加快应用启动时间
spring.datasource.druid.asyncInit=true
#druid监控相关配置
#用户名
druid.login.username=root
#密码
druid.login.password=root
#白名单
druid.allow=127.0.0.1
#黑名单(共同存在时,deny优先于allow)
druid.deny=root
#多数据源的配置
dynamic.datasource.slave1.driver-class-name=com.mysql.jdbc.Driver
dynamic.datasource.slave1.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
dynamic.datasource.slave1.username=root
dynamic.datasource.slave1.password=123456
dynamic.datasource.slave2.driver-class-name=com.mysql.jdbc.Driver
dynamic.datasource.slave2.url=jdbc:mysql://localhost:3306/shiro?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
dynamic.datasource.slave2.username=root
dynamic.datasource.slave2.password=123456
#mybatis相关配置
mybatis.type-aliases-package=io.commons.dynamic.datasource.entity
#配置mapper对应的xml映射
mybatis.mapper-locations=classpath:mapper/*.xml