iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot2 中怎么使用Druid连接池
  • 446
分享到

SpringBoot2 中怎么使用Druid连接池

2023-06-02 13:06:12 446人浏览 安东尼
摘要

这篇文章给大家介绍SpringBoot2 中怎么使用Druid连接池,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、Druid连接池1、druid简介Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池

这篇文章给大家介绍SpringBoot2 中怎么使用Druid连接池,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

一、Druid连接池

1、druid简介

Druid连接池是阿里巴巴开源数据库连接池项目。Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防sql注入,内置Loging能诊断Hack应用行为。
Druid连接池是阿里巴巴内部唯一使用的连接池,在内部数据库相关中间件TDDL/DRDS 都内置使用强依赖了Druid连接池,经过阿里内部数千上万的系统大规模验证,经过历年双十一超大规模并发验证。

2、druid特点

稳定性特性,阿里巴巴的业务验证完备的监控信息,快速诊断系统的瓶颈内置了WallFilter 提供防SQL注入功能

二、整合springBoot2框架

1、引入核心依赖

<!-- 数据库依赖 --><dependency>    <groupId>mysql</groupId>    <artifactId>Mysql-connector-java</artifactId>    <version>5.1.21</version></dependency><dependency>    <groupId>com.alibaba</groupId>    <artifactId>druid-spring-boot-starter</artifactId>    <version>1.1.13</version></dependency><!-- JDBC 依赖 --><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-jdbc</artifactId></dependency>

2、数据源配置文件

spring:  application:    # 应用名称    name: node07-boot-druid  datasource:    type: com.alibaba.druid.pool.DruidDataSource    druid:      driverClassName: com.mysql.jdbc.Driver      url: jdbc:mysql://localhost:3306/data_one?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&useSSL=false      username: root      passWord: 123      initial-size: 10      max-active: 100      min-idle: 10      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      max-evictable-idle-time-millis: 60000      validation-query: SELECT 1 FROM DUAL      # validation-query-timeout: 5000      test-on-borrow: false      test-on-return: false      test-while-idle: true      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000      #filters: #配置多个英文逗号分隔(统计,sql注入,log4j过滤)      filters: stat,wall      stat-view-servlet:        enabled: true        url-pattern: /druid@Configurationpublic class DruidConfig {    private static final Logger logger = LoggerFactory.getLogger(DruidConfig.class);    @Value("${spring.datasource.druid.url}")    private String dbUrl;    @Value("${spring.datasource.druid.username}")    private String username;    @Value("${spring.datasource.druid.password}")    private String password;    @Value("${spring.datasource.druid.driverClassName}")    private String driverClassName;    @Value("${spring.datasource.druid.initial-size}")    private int initialSize;    @Value("${spring.datasource.druid.max-active}")    private int maxActive;    @Value("${spring.datasource.druid.min-idle}")    private int minIdle;    @Value("${spring.datasource.druid.max-wait}")    private int maxWait;    @Value("${spring.datasource.druid.pool-prepared-statements}")    private boolean poolPreparedStatements;    @Value("${spring.datasource.druid.max-pool-prepared-statement-per-connection-size}")    private int maxPoolPreparedStatementPerConnectionSize;    @Value("${spring.datasource.druid.time-between-eviction-runs-millis}")    private int timeBetweenEvictionRunsMillis;    @Value("${spring.datasource.druid.min-evictable-idle-time-millis}")    private int minEvictableIdleTimeMillis;    @Value("${spring.datasource.druid.max-evictable-idle-time-millis}")    private int maxEvictableIdleTimeMillis;    @Value("${spring.datasource.druid.validation-query}")    private String validationQuery;    @Value("${spring.datasource.druid.test-while-idle}")    private boolean testWhileIdle;    @Value("${spring.datasource.druid.test-on-borrow}")    private boolean testOnBorrow;    @Value("${spring.datasource.druid.test-on-return}")    private boolean testOnReturn;    @Value("${spring.datasource.druid.filters}")    private String filters;    @Value("{spring.datasource.druid.connection-properties}")    private String connectionProperties;        @Bean     //声明其为Bean实例    public DruidDataSource dataSource() {        DruidDataSource datasource = new DruidDataSource();        datasource.setUrl(dbUrl);        datasource.setUsername(username);        datasource.setPassword(password);        datasource.setDriverClassName(driverClassName);        datasource.setInitialSize(initialSize);        datasource.setMinIdle(minIdle);        datasource.setMaxActive(maxActive);        datasource.setMaxWait(maxWait);        datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);        datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);        datasource.setMaxEvictableIdleTimeMillis(minEvictableIdleTimeMillis);        datasource.setValidationQuery(validationQuery);        datasource.setTestWhileIdle(testWhileIdle);        datasource.setTestOnBorrow(testOnBorrow);        datasource.setTestOnReturn(testOnReturn);        datasource.setPoolPreparedStatements(poolPreparedStatements);        datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);        try {            datasource.setFilters(filters);        } catch (Exception e) {            logger.error("druid configuration initialization filter", e);        }        datasource.setConnectionProperties(connectionProperties);        return datasource;    }        @Bean(name = "dataOneTemplate")    public JdbcTemplate jdbcTemplate (@Autowired DruidDataSource dataSource){        return new JdbcTemplate(dataSource) ;    }        @Bean    public ServletReGIStrationBean statViewServlet(){        ServletRegistrationBean srb =                new ServletRegistrationBean(new StatViewServlet(),"/druid/*");        //设置控制台管理用户        srb.addInitParameter("loginUsername","root");        srb.addInitParameter("loginPassword","root");        //是否可以重置数据        srb.addInitParameter("resetEnable","false");        return srb;    }    @Bean    public FilterRegistrationBean statFilter(){        //创建过滤器        FilterRegistrationBean frb =                new FilterRegistrationBean(new WEBStatFilter());        //设置过滤器过滤路径        frb.addUrlPatterns("/*");        //忽略过滤的形式        frb.addInitParameter("exclusions",                "*.js,*.gif,*.jpg,*.png,*.CSS,*.ico,/druid/*");        return frb;    }}

4、简单测试

@RestControllerpublic class DruidController {    private static final Logger LOG = LoggerFactory.getLogger(DruidController.class);    @Resource    private JdbcTemplate jdbcTemplate ;    @RequestMapping("/druidData")    public String druidData (){        String sql = "SELECT COUNT(1) FROM d_phone" ;        Integer countOne = jdbcTemplate.queryForObject(sql,Integer.class) ;        // countOne==2        LOG.info("countOne=="+countOne);        return "success" ;    }}

三、测试效果

完成一次数据请求后,访问如下链接。

SpringBoot2 中怎么使用Druid连接池

Http://localhost:8007/druid输入配置的用户名和密码:root root

1、Druid监控首页

主要展示链接数据库的基础信息。

SpringBoot2 中怎么使用Druid连接池

2、Druid监控数据源

连接池配置的各项详细属性,可以参考这里查看,无需再从网上查找。

SpringBoot2 中怎么使用Druid连接池

3、Druid监控SQL执行

所有执行的SQL,都会在这里被监控到,且会有SQL执行的详细计划。

SpringBoot2 中怎么使用Druid连接池

关于SpringBoot2 中怎么使用Druid连接池就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: SpringBoot2 中怎么使用Druid连接池

本文链接: https://www.lsjlt.com/news/230137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot2 中怎么使用Druid连接池
    这篇文章给大家介绍SpringBoot2 中怎么使用Druid连接池,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、Druid连接池1、druid简介Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池...
    99+
    2023-06-02
  • jdbc与druid连接池怎么用
    这篇文章将为大家详细讲解有关jdbc与druid连接池怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用jdbc实现对数据库的操作Ⅰ 获取数据库连接package org.example....
    99+
    2023-06-14
  • Springboot中怎么加入druid连接池
    本篇内容介绍了“Springboot中怎么加入druid连接池”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.DRUID连接池介绍Drui...
    99+
    2023-06-26
  • 怎么在SpringBoot中使用Druid数据库连接池
    这篇文章主要介绍怎么在SpringBoot中使用Druid数据库连接池,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Druid是阿里开源的一款数据库连接池,除了常规的连接池功能外,它还提供了强大的监控和扩展功能。这对...
    99+
    2023-06-14
  • Spring Boot 使用 Druid 连接池详解
    Spring Boot 使用 Druid 连接池详解 Alibaba Druid 是一个 JDBC 组件库,包含数据库连接池、SQL Parser 等组件,被大量业务和技术产品使用或集成,经历过严苛的...
    99+
    2023-09-14
    java mysql spring boot
  • Springboot中加入druid连接池
    目录1.DRUID连接池介绍2.DRUID 的参数3.配置依赖4.添加文件1.DRUID连接池介绍 Druid是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前最好的数据...
    99+
    2024-04-02
  • jdbc与druid连接池的使用详解
    使用jdbc实现对数据库的操作 Ⅰ 获取数据库连接 package org.example.utils; import java.sql.*; public class Java...
    99+
    2024-04-02
  • Druid数据库连接池如何使用
    这篇文章主要介绍了Druid数据库连接池如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Druid数据库连接池如何使用文章都会有所收获,下面我们一起来看看吧。概述数据库连接池是个容器,负责分配、管理数据库...
    99+
    2023-07-05
  • 如何在SpringBoot 中使用 Druid 数据库连接池
    目录1.Maven中的pom文件2.SpringBoot 配置文件3.配置Druid数据源实例4.过滤器和Servlet5.使用@ServletComponentScan注解,6.D...
    99+
    2024-04-02
  • 如何在springboot项目中使用druid数据库连接池
    如何在springboot项目中使用druid数据库连接池?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apac...
    99+
    2023-06-14
  • 使用druid如何实现配置数据库连接池
    本篇文章为大家展示了使用druid如何实现配置数据库连接池 ,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。druid的配置项如下配置缺省值说明name 配置这个属性的意义在于,如果存在多个...
    99+
    2023-05-31
    数据库连接池 druid
  • mysql怎么使用连接池
    mysql使用连接池的示例:手动配置连接池。    public void demo1(){       &n...
    99+
    2024-04-02
  • springboot2中HikariCP连接池的相关配置问题
    目录springboot2 HikariCP连接池相关配置HikariCP常用的参数配置1.autoCommit2.connectionTimeout3.idleTimeout4.m...
    99+
    2022-12-22
    springboot2中HikariCP HikariCP连接池 HikariCP连接池配置
  • 详解Spring Boot下Druid连接池的使用配置分析
    引言: 在Spring Boot下默认提供了若干种可用的连接池,Druid来自于阿里系的一个开源连接池,在连接池之外,还提供了非常优秀的监控功能,这里讲解如何与Spring Boot实现集成。1.  环境描述spring Boot...
    99+
    2023-05-31
    spring boot druid
  • springboot druid数据库连接池连接失败后一直重连怎么解决
    这篇文章主要介绍了springboot druid数据库连接池连接失败后一直重连怎么解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇springboot druid数据库连接池连接失败后一...
    99+
    2023-06-30
  • 使用Mybatis和druid连接池报错 merge sql error, dbType mysql, sql : select
    在项目中用mybatis查询的时候遇到一个这样的问题,抛错详情如下:merge sql error, dbType mysql, sql : select ... merge sql error, dbType mysql, s...
    99+
    2023-09-04
    mysql Powered by 金山文档
  • 使用Spring Boot如何实现集成Druid数据库连接池
    使用Spring Boot如何实现集成Druid数据库连接池?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 前言Druid数据库连接池由阿里巴巴开源,号称是java语言...
    99+
    2023-05-31
    springboot 数据库连接池 druid
  • springboot使用alibaba的druid数据库连接池错误如何解决
    本篇内容介绍了“springboot使用alibaba的druid数据库连接池错误如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用...
    99+
    2023-07-05
  • ADO.Net中怎么利用连接池连接字符串
    ADO.Net中怎么利用连接池连接字符串,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。说了这么多ADO.Net连接池的相关注释,那我们什么时候需要使用到Conn...
    99+
    2023-06-17
  • ADO.NET连接池怎么用
    这篇文章主要为大家展示了“ADO.NET连接池怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ADO.NET连接池怎么用”这篇文章吧。ADO.NET连接池允许应用程序从连接池中获得一个连接并...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作