Spring Boot 整合MyBatis和Druid
Spring Boot 整合MyBatis和Druid
依赖导入
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
配置文件
spring:
datasource:
druid:
url: jdbc:mysql://localhost:3306/GraduationProject?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 初始化物理链接的个数
initial-size: 5
# 最大连接池数量
max-active: 30
# 最小 连接池数量
min-idle: 5
# 获取连接时最大等待时间,单位毫秒 timeout链接超时
max-wait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 检测非核心链接的时间
#既作为检测的间隔时间又作为testWhileIdel执行的依据
time-between-eviction-runs-millis: 60000
# 连接保持空闲而不被驱逐的最小时间
min-evictable-idle-time-millis: 30000
# 用来检测连接是否有效的sql,要求是一个查询语句 8小时问题 8个小时没跟mysql通信mysql会主动关闭该链接
validation-query: SELECT 1 FROM DUAL
# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,
# 如果空闲时间大于min-evictable-idle-time-millis,执行validationQuery检测连接是否有效。
test-while-idle: true
# 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
test-on-borrow: false
# 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
test-on-return: false
# 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,
# 比如说oracle。在mysql下建议关闭。不是mysql端,链接端,select * from student 查询缓存
pool-prepared-statements: true
# 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
max-pool-prepared-statement-per-connection-size: 50
#调优相关:基本上任何一个项目的性能瓶颈 1.io 2.cpu计算量
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计
filters: stat,wall
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录 慢查询:增删改查
connection-properties: druid.stat.mergeSql=true;
filter:
stat:
slow-sql-millis: 1
# 合并多个DruidDataSource的监控数据
use-global-data-source-stat: true
# druid连接池监控
stat-view-servlet:
login-username: admin
login-password: 123
# 排除一些静态资源,以提高效率
web-stat-filter:
exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
# mybatis 配置
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.xy.video.pojo
启动类加上MapperScan
@SpringBootApplication
@MapperScan("com.xy.video.mapper")
public class VideoApplication {
public static void main(String[] args) { SpringApplication.run(VideoApplication.class, args);
}}