springboot整合druid 数据库连接池及配置使用

   今天分享一篇关于druid数据库连接池的使用

   开发环境是springboot,springboot默认的数据库连接池是HikariDataSource,据官方所说它很快,但是有多快我没去测试过;而druid集成了c3p0,dbcp等连接池的优点,同时支持日志监控,两个各有所长,具体的使用还是根据需求。话不多说,开始搞事。

   druid是阿里巴巴开源的连接池,首先导入jar包,版本根据需要去选择

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
	<version>1.1.23</version>
</dependency>

   然后在配置文件中进行配置,首先不配置druid,先看看springboot默认的连接池

spring:
# 数据库配置,其余配置请自己补全
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: 
    password: 
    username: 

先做个对比测试,写个测试类来测试连接池,根据输出 “class com.zaxxer.hikari.HikariDataSource” 获取到连接池是 “HikariDataSource”

    @Autowired
    private DataSource dataSource;
    
    @Test
    public void datasourceTest() throws Exception {
        //查看默认数据源
        System.out.println(dataSource.getClass());
        //获取数据库连接
        Connection connection = dataSource.getConnection();
        //关闭连接
        connection.close();
    }

接下来配置druid连接池,使用测试方法得到了连接池是 “class com.alibaba.druid.pool.DruidDataSource”

spring:
# 数据库配置,其余配置请自己补全
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: 
    password: 
    username: 
    # 指定连接池类型
    type: com.alibaba.druid.pool.DruidDataSource

   实际上,不管是哪种连接池,它的底层永远是jdbc;然后开始配置druid的配置,简单的写几个,其他的配置可以参考https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

spring:
#    数据库配置,其余配置请自己补全
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      initial-size: 10
      min-idle: 100
      max-active: 1000
      max-wait: 60000
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      test-while-idle: true
      test-on-borrow: false
      test-on-return: false
      filter:
        stat:
          log-slow-sql: true
          slow-sql-millis: 1000
          merge-sql: false
          enabled: true
        wall:
          config:
            multi-statement-allow: true

   关于druid的配置就这些,接下来说一个druid最重要的配置:监控功能,在druid的配置中增加下面的配置

# 监控
	stat-view-servlet:
		enabled: true
		url-pattern: /druid/*
		allow:
		deny:
		# 用户名(自定义)
		login-username: admin
		# 密码 (自定义)
		login-password: admin

然后通过浏览器去访问http://localhost:8080/druid,登录的用户名和密码在配置时就配置了,直接登录即可,这个页面包含了druid的核心功能,可以查看关于druid对数据库的配置监控
在这里插入图片描述

传送门:
  druid配置:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華小灼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值