SpringBoot整合Druid数据库连接池

  1. 什么是连接池?

一个容器持有多个数据库连接,当程序需要操作数据库的时候直接从池中取出连接,使用完之后再还回去,和线程池一个道理。

简单来说就是一组连接组成的一个池子(集合),称为连接池。

连接池是创建和管理一个连接的缓冲池技术。

2、为什么要用连接池

我们原先在连接数据库时都是用到一次,创建一次连接,不用就关闭,再用的时候再连接。但是一旦访问数据库的请求多了起来,就会很容易占用服务器资源,还耗时。使用连接池就能很好的解决这种问题。连接池技术是在服务启动的时候就事先在连接池中放入一定数量的连接对象,当你需要的时候,直接从连接池中拿已经创建好的对象而不是临时去创建一个连接,这样就能提高效率。

3、使用连接池的好处

1、节省资源,如果每次访问数据库都创建新的连接,创建和销毁都浪费系统资源

2、响应性更好,省去了创建的时间,响应性更好。

3、统一管理数据库连接,避免因为业务的膨胀导致数据库连接的无限增多。

4、便于监控。

最近在学习的连接池:德鲁伊连接池(Druid)

1.Druid介绍

Druid是阿里巴巴开源平台上的一个项目,它结合了C3P0、DBCP、Proxool等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,也是目前最好的数据库连接池之一。

2.使用德鲁伊连接池(Druid)

1、在https://mvnrepository.com/ 官网上找到Druid相关依赖。
SpringBoot整合Druid数据库连接池_第1张图片

2、复制坐标代码粘贴到pom.xml中
SpringBoot整合Druid数据库连接池_第2张图片

在创建项目时,我已经选择导入MySQL以及MyBatis,所以在pom.xml中依赖如下:


    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.3.0


    com.mysql
    mysql-connector-j
    runtime


    com.alibaba
    druid-spring-boot-starter
    1.2.6

3、相关配置文件中配置

配置数据源有两种方法

(1)这种配法能够使用,但是不是整合型的配法

spring:
datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/book?serverTimezone=UTC
    username: root
    password: root
    type: com.alibaba.druid.pool.DruidDataSource

(2)Druid专用的配法如下(tips:如果在pom.xml中导入坐标为druid-spring-boot-starter才会提供如下配置方法

spring:
datasource:
druid:
     driver-class-name: com.mysql.cj.jdbc.Driver
     url: jdbc:mysql://localhost:3306/book?serverTimezone=UTC
     username: root
     password: root

4、在测试类中进行测试,完成啦!!
SpringBoot整合Druid数据库连接池_第3张图片

你可能感兴趣的:(数据库,java,mybatis,spring,boot)