阿里druid连接池的详细配置使用

1、Druid连接池properties配置文件

jdbc.driverClassName=com.mysql.jdbc.Driver
#部署到服务器后添加?characterEncoding=utf-8可以杜绝中文乱码
jdbc.url=jdbc:mysql://localhost:3306/SpringMVC?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
#初始化连接数
jdbc.initialSize=10
#最大连接数
jdbc.maxActive=10
#获取连接最大等待时间
jdbc.maxWait=3000
#打开PSCache,并且指定每个连接上PSCache的大小
jdbc.maxOpenPreparedStatements=20
#连接池最小空闲
jdbc.minIdle=0
#用来检测连接是否有效的sql
jdbc.validationQuery=SELECT 1
#申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
jdbc.testOnBorrow=false
#归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
jdbc.testOnReturn=false
#建议配置为true,不影响性能,并且保证安全性
jdbc.testWhileIdle=true
#配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
jdbc.timeBetweenEvictionRunsMillis=6000
#配置一个连接在池中最小生存的时间,单位是毫秒
jdbc.minEvictableIdleTimeMillis=25200000
#打开removeAbandoned功能
jdbc.removeAbandoned=true
#活动连接的最大空闲时间,单位为秒 超过此时间的连接会被释放到连接池中
jdbc.removeAbandonedTimeout=1800
#连接时输出错误日志
jdbc.logAbandoned=true
#属性类型是字符串,通过别名的方式配置扩展插件
jdbc.filters=stat
#是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
poolPreparedStatements=true

2、Spring中对druid的配置

<!-- 阿里 druid 数据库连接池 -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <!--基本属性 url、user、password-->
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
        <property name="driverClassName" value="${jdbc.driverClassName}"/>

        <!--最大并发连接数-->
        <property name="maxActive" value="${jdbc.maxActive}"/>

        <!--初始化连接数量-->
        <property name="initialSize" value="${jdbc.initialSize}"/>

        <!--配置获取连接等待超时的时间-->
        <property name="maxWait" value="${jdbc.maxWait}"/>

        <!--配置监控统计拦截的filters,去掉后监控界面sql无法统计-->
        <property name="filters" value="${jdbc.filters}"/>

        <!--最小空闲连接数-->
        <property name="minIdle" value="${jdbc.minIdle}"/>

        <!--配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒-->
        <property name="timeBetweenEvictionRunsMillis" value="${jdbc.timeBetweenEvictionRunsMillis}"/>

        <!--配置一个连接在池中最小生存的时间,单位是毫秒-->
        <property name="minEvictableIdleTimeMillis" value="${jdbc.minEvictableIdleTimeMillis}"/>

        <property name="validationQuery" value="${jdbc.validationQuery}"/>
        <property name="testWhileIdle" value="${jdbc.testWhileIdle}"/>
        <property name="testOnBorrow" value="${jdbc.testOnBorrow}"/>
        <property name="testOnReturn" value="${jdbc.testOnReturn}"/>
        <property name="maxOpenPreparedStatements" value="${jdbc.maxOpenPreparedStatements}"/>

        <!--打开 removeAbandoned 功能-->
        <property name="removeAbandoned" value="${jdbc.removeAbandoned}"/>

        <!--活动连接的最大空闲时间,单位为秒 超过此时间的连接会被释放到连接池中-->
        <property name="removeAbandonedTimeout" value="${jdbc.removeAbandonedTimeout}"/>

        <!--关闭 abanded 连接时输出错误日志-->
        <property name="logAbandoned" value="${jdbc.logAbandoned}"/>
    </bean>

3、在web.xml中开启druid监控配置

<!-- 连接池 启用 Web 监控统计功能    start-->
    <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>

    <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>druid</param-value>
        </init-param>
        <init-param>
            <!-- 密码 -->
            <param-name>loginPassword</param-name>
            <param-value>362623</param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>DruidStatView</servlet-name>
        <url-pattern>/druid/*</url-pattern>
    </servlet-mapping>
    <!-- 连接池 启用 Web 监控统计功能    end-->

访问监控页面: 项目启动完成后打开项目默认主页,在后面加/druid即可打开监控页面

猜你喜欢

转载自blog.csdn.net/weixin_44790046/article/details/105098534