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相关依赖。

2、复制坐标代码粘贴到pom.xml中

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

<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version>
</dependency>

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、在测试类中进行测试,完成啦!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Spring Boot整合Druid连接池的配置有以下几个步骤: 1. 在pom.xml文件中引入DruidSpring Boot Starter依赖。可以使用以下代码将Druid加入到项目依赖中: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.21</version> </dependency> ``` 这样就可以使用Druid连接池了。 2. 在application.properties或application.yml文件中配置Druid连接池的相关属性。可以配置的属性包括数据库的URL、用户名、密码以及其他一些连接池的参数,例如最大连接数、初始化连接数等。以下是一个示例配置: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ``` 在这个示例中,我们配置了MySQL数据库的连接信息和使用Druid连接池。 3. 如果需要监控Druid连接池的状态,可以进行Druid监控的配置。可以使用以下代码启用Druid监控: ``` @Configuration public class DruidConfig { @Bean public ServletRegistrationBean druidServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); // 设置登录用户名和密码 servletRegistrationBean.addInitParameter("loginUsername", "admin"); servletRegistrationBean.addInitParameter("loginPassword", "admin"); return servletRegistrationBean; } @Bean public FilterRegistrationBean druidFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); filterRegistrationBean.addUrlPatterns("/*"); filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"); return filterRegistrationBean; } } ``` 通过上述配置,我们可以在浏览器中访问`http://localhost:8080/druid`来查看Druid连接池的监控信息。 通过以上步骤,你就可以在Spring Boot中成功地整合Druid连接池并进行相关配置了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [猿创征文|使用SpringBoot整合国产数据库连接池Druid](https://blog.csdn.net/weixin_46713508/article/details/127337015)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [SpringBoot整合Druid数据库连接池的方法](https://download.csdn.net/download/weixin_38610277/12722989)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值