Druid配置

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

下面简述这两种方法。

一、Spring配置

把数据源改为以下配置:

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


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

在web.xml中添加以下代码

[html]   view plain  copy
 print ?
  1. <span style="white-space:pre">    </span><!--druid 监控页面-->  
  2.     <servlet>  
  3.         <servlet-name>DruidStatView</servlet-name>  
  4.         <servlet-class>com.alibaba.druid.support.http.StatViewServlet</servlet-class>  
  5.     </servlet>  
  6.     <servlet-mapping>  
  7.         <servlet-name>DruidStatView</servlet-name>  
  8.         <url-pattern>/druid/*</url-pattern>  
  9.     </servlet-mapping>  
  10.     <filter>  
  11.         <filter-name>DruidWebStatFilter</filter-name>  
  12.         <filter-class>com.alibaba.druid.support.http.WebStatFilter</filter-class>  
  13.         <init-param>  
  14.             <param-name>exclusions</param-name>  
  15.             <param-value>*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*</param-value>  
  16.         </init-param>  
  17.     </filter>  
  18.     <filter-mapping>  
  19.         <filter-name>DruidWebStatFilter</filter-name>  
  20.         <url-pattern>/*</url-pattern>  
  21.     </filter-mapping>  

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


二、手动创建链接。

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

[java]   view plain  copy
 print ?
  1. package demo.test;  
  2.    
  3. import java.io.InputStream;  
  4. import java.sql.Connection;  
  5. import java.sql.SQLException;  
  6. import java.util.Properties;  
  7. import javax.sql.DataSource;  
  8. import com.alibaba.druid.pool.DruidDataSourceFactory;  
  9.    
  10. public class DBUtil {  
  11.     private static DataSource ds = null;    
  12.     static {  
  13.         try{  
  14.             InputStream in = DBUtil.class.getClassLoader().getResourceAsStream("ds.properties");  
  15.             Properties props = new Properties();  
  16.             props.load(in);  
  17.             ds = DruidDataSourceFactory.createDataSource(props);  
  18.         }catch(Exception ex){  
  19.             ex.printStackTrace();  
  20.         }  
  21.     }   
  22.     public static Connection openConnection() throws SQLException{  
  23.         return ds.getConnection();  
  24.     }    
  25. }  

ds.properties

[plain]   view plain  copy
 print ?
  1. driverClassName = com.mysql.jdbc.Driver  
  2. url = jdbc:mysql://localhost:3306/yuan_web  
  3. username = ******  
  4. password = ******  
  5.    
  6. initialSize = 5  
  7. maxActive = 10  
  8. minIdle = 3  
  9. maxWait = 60000  
  10. removeAbandoned = true  
  11. removeAbandonedTimeout = 180  
  12. timeBetweenEvictionRunsMillis = 60000  
  13. minEvictableIdleTimeMillis = 300000  
  14. validationQuery = SELECT 1 FROM DUAL  
  15. testWhileIdle = true   
  16. testOnBorrow = false  
  17. testOnReturn = false  
  18. poolPreparedStatements = true  
  19. maxPoolPreparedStatementPerConnectionSize = 50  
  20. filters = stat  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,关于springboot整合druid配置,你可以按照以下步骤进行: 1. 在pom.xml文件中添加druid和jdbc依赖: ``` <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> ``` 2. 在application.properties文件中添加druid配置: ``` # 数据源配置 spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver # Druid配置 spring.datasource.type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid.max-wait=60000 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 spring.datasource.druid.filters=stat,wall,log4j spring.datasource.druid.connection-properties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # Druid监控配置 spring.datasource.druid.stat-view-servlet.enabled=true spring.datasource.druid.stat-view-servlet.url-pattern=/druid/* spring.datasource.druid.stat-view-servlet.reset-enable=false spring.datasource.druid.stat-view-servlet.login-username=admin spring.datasource.druid.stat-view-servlet.login-password=admin ``` 3. 在启动类上添加注解@EnableTransactionManagement和@Bean注解的方法创建DruidDataSource: ``` @SpringBootApplication @EnableTransactionManagement public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } @Bean @ConfigurationProperties(prefix = "spring.datasource.druid") public DataSource druidDataSource() { return new DruidDataSource(); } } ``` 以上就是整合druid配置步骤,你可以根据自己的需求进行相应的修改。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值