精华内容
下载资源
问答
  • 建立数据库连接耗时耗费资源,一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千的访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的...

    建立数据库连接耗时耗费资源,一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千的访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。

    数据库连接池的意义在于,能够重复利用数据库连接(有点类似线程池的部分意义),提高对请求的响应时间和服务器的性能。
    连接池中提前预先建立了多个数据库连接对象,然后将连接对象保存到连接池中,当客户请求到来时,直接从池中取出一个连接对象为客户服务,当请求完成之后,客户程序调用close()方法,将连接对象放回池中
    Druid介绍
    druid为阿里巴巴的数据源,(数据库连接池),集合了c3p0、dbcp、proxool等连接池的优点,还加入了日志监控,有效的监控DB池连接和SQL的执行情况。
    DRUID的DataSource类为:com.alibaba.druid.pool.DruidDataSource。
    其他配置参数如下:
    在这里插入图片描述

    spring+druid的典型配置

    下面展示一些 内联代码片

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
    init-method="init" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driver}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <property name="filters" value="stat,log4j" />
    </bean>
    
    关于Druid连接达梦的常见出错

    1.报如下的错误:
    16:16:50,872 ERROR main pool.DruidDataSource:658 - dataSource init error java.sql.SQLException: unkow jdbc driver : jdbc:dm://localhost:5236
    atcom.alibaba.druid.util.JdbcUtils.getDriverClassName(JdbcUtils.java:416)
    报错原因:
    是因为Druid 1.0.11及以前版本,不能省略driverClassName参数否则出现 unkow jdbc driver 异常
    解决方法:
    升级到最新版,如1.1.20(推荐)
    或 配置 driverClassName=dm.jdbc.driver.DmDriver

    2.报错信息如下:
    16:01:02,007 ERROR main pool.DruidDataSource:983 - {dataSource-1} init error
    java.lang.IllegalStateException: dbType not support : dm, url
    jdbc:dm://localhost:5236
    at com.alibaba.druid.wall.WallFilter.init(WallFilter.java:167)
    报错原因:
    配置了wall Filter(防火墙过滤),报异常: dbType not support
    解决方法:
    去掉wall配置

    展开全文
  • 主要介绍了JSP Spring中Druid连接配置详解的相关资料,需要的朋友可以参考下
  • druid连接配置Druid

    千次阅读 2015-09-10 17:23:56
    Druid 有两种配置方法:一种是基于Spring的配置,另一种是手动创建链接。 下面简述这两种方法。 一、Spring配置 把数据源改为以下配置

    Druid 有两种配置方法:一种是基于Spring的配置,另一种是手动创建链接。

    下面简述这两种方法。

    一、Spring配置

    把数据源改为以下配置:

    <span style="white-space:pre">	</span><!--druid 配置数据源-->
    	<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    		<property name="url" value="${jdbc.url}" />
    		<property name="username" value="${jdbc.username}"/>
    		<property name="password" value="${jdbc.password}"/>
    		<property name="initialSize" value="1" /><!-- 配置初始化连接池数量-->
    		<property name="minIdle" value="1" /><!-- 配置最小连接池数量-->
    		<property name="maxActive" value="20" /><!-- 配置最大连接池数量-->
    		<property name="maxWait" value="60000" /><!-- 配置获取连接等待超时的时间 单位毫秒-->
    		<property name="useUnfairLock" value="true"/><!--使用非公平锁-->
    		<property name="timeBetweenEvictionRunsMillis" value="60000" /><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    		<property name="minEvictableIdleTimeMillis" value="300000" /><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    		<property name="validationQuery" value="SELECT 'x'" /><!--用来检测连接是否有效的sql,要求是一个查询语句。-->
    		<property name="testWhileIdle" value="true" /><!--申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。-->
    		<property name="testOnBorrow" value="false" /><!--申请连接时执行validationQuery检测连接是否有效,-->
    		<property name="testOnReturn" value="false" /><!--归还连接时执行validationQuery检测连接是否有效,-->
    		<property name="poolPreparedStatements" value="true" /><!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
    		<property name="maxOpenPreparedStatements" value="20" />
    		<property name="filters" value="stat" /><!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
    	</bean>


    配置web.xml 开启Druid的内置监控页面

    在web.xml中添加以下代码

    <span style="white-space:pre">	</span><!--druid 监控页面-->
    	<servlet>
    		<servlet-name>DruidStatView</servlet-name>
    		<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>DruidStatView</servlet-name>
    		<url-pattern>/druid/*</url-pattern>
    	</servlet-mapping>
    	<filter>
    		<filter-name>DruidWebStatFilter</filter-name>
    		<filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>
    		<init-param>
    			<param-name>exclusions</param-name>
    			<param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>DruidWebStatFilter</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>

    配置完后,重启工程,访问监控页面:http://ip:port/projectName/druid/index.html


    二、手动创建链接。

    采用new DruidDataSource ()或者DruidDataSourceFactory .createDataSource(properties)的方式均可,前者需要手动设置参数值,后者自动从配置文件中读取,可根据需要使用。

    package demo.test;
     
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.Properties;
    import javax.sql.DataSource;
    import com.alibaba.druid.pool.DruidDataSourceFactory;
     
    public class DBUtil {
        private static DataSource ds = null;  
        static {
            try{
                InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("ds.properties");
                Properties props = new Properties();
                props.load(in);
                ds = DruidDataSourceFactory.createDataSource(props);
            }catch(Exception ex){
                ex.printStackTrace();
            }
        } 
        public static Connection openConnection() throws SQLException{
            return ds.getConnection();
        }  
    }

    ds.properties

    driverClassName = com.mysql.jdbc.Driver
    url = jdbc:mysql://localhost:3306/yuan_web
    username = ******
    password = ******
     
    initialSize = 5
    maxActive = 10
    minIdle = 3
    maxWait = 60000
    removeAbandoned = true
    removeAbandonedTimeout = 180
    timeBetweenEvictionRunsMillis = 60000
    minEvictableIdleTimeMillis = 300000
    validationQuery = SELECT 1 FROM DUAL
    testWhileIdle = true 
    testOnBorrow = false
    testOnReturn = false
    poolPreparedStatements = true
    maxPoolPreparedStatementPerConnectionSize = 50
    filters = stat


    展开全文
  • springboot集成druid连接配置

    万次阅读 2019-06-02 23:53:00
    springboot集成druid连接配置 在开发项目中如果数据库选型为mysql,很大概率下连接池会使用druid 这里介绍springboot集成durid springboot集成druid配置 需要引入的pom <dependency> <groupId>...

    springboot集成druid连接池配置

    在开发项目中如果数据库选型为mysql,很大概率下连接池会使用druid
    这里介绍springboot集成durid

    springboot : 2.1.9
    druid : 1.1.10

    案例地址

    github地址

    springboot集成druid配置

    需要引入的pom

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

    需要在application.yaml中添加一些配置

    
    spring:
      datasource:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name: com.mysql.cj.jdbc.Driver
        platform: mysql
        url: jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false
        username: root
        password: 123456
        initialSize: 5
        minIdle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT1FROMDUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        filters: stat,wall,log4j
        logSlowSql: true 
    

    到此springboot就集成的druid的配置 可以直接使用

    springboot添加druid监控平台配置类

    DruidConfiguration

    
    import com.alibaba.druid.support.http.StatViewServlet;
    import com.alibaba.druid.support.http.WebStatFilter;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.boot.web.servlet.FilterRegistrationBean;
    import org.springframework.boot.web.servlet.ServletRegistrationBean;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * 数据库链接池druid监控平台的配置
     * 访问路径 http://localhost:8080/druid/index.html
     *
     */
    @Configuration
    public class DruidConfiguration {
    
        private static final Logger logger = LoggerFactory.getLogger(DruidConfiguration.class);
    
        @Bean
        public ServletRegistrationBean druidServlet() {
            logger.info("init Druid Servlet Configuration ");
            ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
            // IP白名单
    //        servletRegistrationBean.addInitParameter("allow", "*");
            // IP黑名单(共同存在时,deny优先于allow)
    //        servletRegistrationBean.addInitParameter("deny", "192.168.1.100");
            //控制台管理用户
            servletRegistrationBean.addInitParameter("loginUsername", "admin");
            servletRegistrationBean.addInitParameter("loginPassword", "admin");
            //是否能够重置数据 禁用HTML页面上的“Reset All”功能
            servletRegistrationBean.addInitParameter("resetEnable", "false");
            return servletRegistrationBean;
        }
        @Bean
        public FilterRegistrationBean filterRegistrationBean() {
            FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter());
            filterRegistrationBean.addUrlPatterns("/*");
            filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*");
            return filterRegistrationBean;
        }
    }
    

    测试界面

    在这里插入图片描述
    监控界面的详细使用说明有待大家按需求进行挖掘

    展开全文
  • Druid连接配置

    千次阅读 2018-08-21 14:09:01
    Druid连接池,监控于一体整好复合当前项目的需要,项目是ssh结构,之前是用C3p0的,现在换一个连接池也是很简单的,首先spring配置DataSource,配置如下: &lt;bean id="dataSource" class="...

    Druid集连接池,监控于一体整好复合当前项目的需要,项目是ssh结构,之前是用C3p0的,现在换一个连接池也是很简单的,首先spring配置DataSource,配置如下:

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    	<!-- 基本属性 url、user、password -->
    	<property name="driverClassName" value="${jdbc.driverClassName}" />
    	<property name="url" value="${jdbc.url}" />
    	<property name="username" value="${jdbc.username}" />
    	<property name="password" value="${jdbc.password}" />
    
    	<!-- 配置初始化大小、最小、最大 -->
    	<property name="initialSize" value="50" />
    	<property name="minIdle" value="50" />
    	<property name="maxActive" value="450" />
    
    	<!-- 配置获取连接等待超时的时间 -->
    	<property name="maxWait" value="60000" />
    
    	<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
    	<property name="timeBetweenEvictionRunsMillis" value="60000" />
    
    	<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
    	<property name="minEvictableIdleTimeMillis" value="300000" />
    
    	<property name="validationQuery" value="SELECT 'x'" />
    	<property name="testWhileIdle" value="true" />
    	<property name="testOnBorrow" value="false" />
    	<property name="testOnReturn" value="false" />
    
    	<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
    	<property name="poolPreparedStatements" value="true" />
    	<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
    
    	<!-- 超过时间限制是否回收 -->
    	<property name="removeAbandoned" value="true" />
    	<!-- 超时时间;单位为秒。180秒=3分钟 -->
    	<property name="removeAbandonedTimeout" value="180" />
    	<!-- 关闭abanded连接时输出错误日志 -->
    	<property name="logAbandoned" value="true" />   
    
    	<!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 -->
    	<property name="filters" value="stat" />
    </bean>
    

    然后是监控的配置:

    <!-- druid监控 -->
    <servlet>
    	<servlet-name>DruidStatView</servlet-name>
    	<servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>
    	<init-param>
    		<!-- 用户名 -->
    		<param-name>loginUsername</param-name>
    		<param-value>admin</param-value>
    	</init-param>
    	<init-param>
    		<!-- 密码 -->
    		<param-name>loginPassword</param-name>
    		<param-value>password</param-value>
    	</init-param>
    </servlet>
    <servlet-mapping>
    	<servlet-name>DruidStatView</servlet-name>
    	<url-pattern>/druid/*</url-pattern>
    </servlet-mapping>

     

    展开全文
  • druid连接配置

    2015-01-13 16:56:07
     阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好,Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象。...
  • 阿里Druid连接配置

    千次阅读 2017-09-20 16:43:32
    1.启用Druid连接池 1.基于Maven配置如下(Gradle类似),pom.xml引入如下依赖: com.alibaba druid ${druid-version} 2.配置数据库连接 d
  • DRUID连接池的实用 配置详解
  • SpringBoot配置druid连接池连接mysql数据库 前言 druid是阿里巴巴开源的一款数据库连接池,性能很好,也有可视化的查询语句执行查看面板。 在pom.xml文件中添加druid的依赖,添加log4j的依赖,不加的话启动会报错,...
  • Druid连接配置信息

    千次阅读 2018-07-05 10:06:51
    Druid is an open-source data store designed for sub-second queries on real-time and historical data. It is primarily used for business intelligence (OLAP) queries on event data. Druid provides ...
  • 阿里Druid连接配置使用

    千次阅读 2016-06-30 14:49:13
    项目中有用到数据库连接池技术,这次我们使用阿里公司的Druid连接池。Druid对数据库的监控做的很好,可以详细统计SQL执行的性能。具体使用:如果是maven项目,加入如下依赖码到pom.xml文件中即可。 ...
  • 这里不进行两者的对比分析,单纯讲如何配置druid连接池 1.添加依赖 添加druid还有另一种,其它与下面相同,<artifactId>换成<artifactId>druid</artifactId>,好像说不用star
  • druid连接池参数配置

    千次阅读 2019-03-22 17:22:35
    DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接配置 缺省值 说明 ...
  • druid连接池 maven 使用一、maven依赖添加二、配置resources文件夹druid文件环境1.创建resources文件夹和druid.properties文件2.DruidDataSource配置属性列表及文件正常配置三、使用 一、maven依赖添加 添加druid...
  • druid连接池常用配置

    2019-07-16 10:57:21
    根据项目中用到的druid连接配置,作了梳理,常用和关键配置项如下表(以oracle)为例: 序 关键配置项 建议取值 1 initial-size 50 2 min-idle 50 3 max-...
  • Spring中使用Druid连接配置详解

    千次阅读 2017-03-09 15:40:52
    jdbc.propertiesurl=jdbc:postgresql://***.***.***.***:****/**** username=*** password=***applicationContext.xml中...-- 阿里 druid 数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.Dru
  • Druid 是阿里巴巴的开源数据库连接池技术,相比dbcp、c3p0更优秀,具有密码加密、sql连接监控功能,无论在性能还是稳定性上表现都十分出色。 spring.xml <bean id="druidDataSource" class=...
  • Druid 连接池基本配置详解(优化)

    千次阅读 2019-10-14 18:55:41
    Druid 连接配置 今天碰到了Druid配置的相关问题,参数有点多,所以先码。Druid 是阿里开发的开源数据库连接池,通过池技术提升访问数据库的效率,至于原理,既然是池化技术,跟线程池差不多。 下面为 可配置 ...
  • 连接druid DruidDataSource 配置

    千次阅读 2017-03-29 10:36:56
    注: 属性跟 dbcp 连接池的差不多. 加入了 filters 监控(value 值要有 stat) 在web.xml里加入下面的Servlet 就可查看 例: ...跟spring 一起用时( 只要配置 initialSize maxActive 就可以),加入其实配置性能
  • 主要给大家介绍了关于spring boot配置druid连接池的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了springboot配置druid连接池的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 本篇文章主要介绍了详解Spring Boot下Druid连接池的使用配置分析,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • druid连接配置详解

    千次阅读 2019-05-06 15:36:30
    bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <property name="driverClassName" value="${database.driverClassName}"/>...
  • SpringBoot--Druid连接配置

    千次阅读 2019-04-06 17:10:52
    -- 阿里巴巴数据库连接池 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.0</version> </depen...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,328
精华内容 21,731
关键字:

druid连接配置