SpringBoot配置druid连接池连接mysql数据库

我们继续接着上一篇讲解如何配置druid连接池连接mysql数据库,我这里用的数据库是8.0,用5.7或其他mysql版本也是一样的。

关于数据库的安装,大家可以在百度搜索。

1、添加druid连接池依赖

druid是阿里巴巴开源的一款数据库连接池,性能很好,也有可视化的查询语句执行查看面板。

在pom.xml文件中添加druid的依赖,并把之前的jpa依赖注释去掉,添加log4j的依赖,不加的话启动会报错,druid有用到它。

<!-- 数据库连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

修改application.properties扩展名为application.yml格式,我们用yaml格式进行配置文件的编写,yaml格式类似于json结构清晰。

我们没有用配置类进行配置,完全采用配置文件的方式,这样就不用新建配置类文件了,两种方式结果都是一样的,配置文件更加方便简单。

server:
  port: 8881
  servlet:
    context-path: /first
spring:
  datasource:
    name: druidDataSource
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    #你自己的数据库IP地址和数据库名,账号以及密码
    url: jdbc:mysql://192.168.0.106:3306/apg?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false
    username: root
    password: 123456
    druid:
      #监控统计拦截的过滤器 不加监控界面sql无法统计 wall用于防火墙
      filters: stat,wall,log4j,config
      #最大连接数
      max-active: 100
      #初始化大小
      initial-size: 1
      #获取连接最大等待时间
      max-wait: 60000
      min-idle: 1
      #间隔多久检测一次需要关闭的空闲连接 毫秒
      time-between-eviction-runs-millis: 60000
      #连接在连接池中最小生存的时间,毫秒
      min-evictable-idle-time-millis: 300000
      validation-query: select 'x'
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      pool-prepared-statements: true
      max-open-prepared-statements: 50
      max-pool-prepared-statement-per-connection-size: 20
      web-stat-filter:
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
        url-pattern: /*
      stat-view-servlet:
        #白名单IP
        allow: 127.0.0.1
        #黑名单IP
        deny: 192.168.0.106
        #登录账号和密码
        login-username: admin
        login-password: admin
        #启用重置数据功能
        reset-enable: true
  jpa:
    database-platform: org.hibernate.dialect.MySQL5InnoDBDialect
    show-sql: true

添加log4j.properties的属性文件,不加这个会出现警告,在视频教程中会有说明

log4j.rootLogger=debug, stdout, R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=firestorm.log

log4j.appender.R.MaxFileSize=100KB
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

然后启动项目,看会不会报错

看到日志输出已经启动完成了,数据源初始化也完成了,这就说明已经用druid的连接池已经连接到mysql数据库了

开始访问druid监控台,在这里可以看到每条查询语句的执行

在浏览器地址栏输入:http://localhost:8881/first/druid

出现登录界面,用admin账号和admin密码登录,这里的账号和密码就是之前在配置文件中设置的。

下面就是druid的监控界面,这样就完成了springboot2配置druid的操作,后面会讲解如何用jpa实现数据库的表的查询。

有任何疑问或写的有误的地方欢迎在评论区留言

2、文章源码地址

码云: https://gitee.com/apgblogs/springBootStudy

发表评论