PropertiesDB 是一个读取配置文件的类,也可以不用,每个参数直接用String代替。

public DataSource dataSource(PropertiesDB propertiesDB) {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setUrl(propertiesDB.getUrl());
dataSource.setDriverClassName(propertiesDB.getDriverClassName());
dataSource.setUsername(propertiesDB.getUsername());
dataSource.setPassword(propertiesDB.getPassword());
if (StringUtils.isNotBlank(propertiesDB.getConnectionProperties())) {
dataSource.setConnectionProperties(propertiesDB.getConnectionProperties());
}
dataSource.setInitialSize(propertiesDB.getInitialSize());
dataSource.setMinIdle(propertiesDB.getMinIdle());
dataSource.setMaxWait(propertiesDB.getMaxActive());
dataSource.setMaxActive(propertiesDB.getMaxActive());
dataSource.setTimeBetweenEvictionRunsMillis(propertiesDB.getTimeBetweenEvictionRunsMillis());
dataSource.setMinEvictableIdleTimeMillis(propertiesDB.getMinEvictableIdleTimeMillis());
dataSource.setTestWhileIdle(propertiesDB.getTestWhileIdle());
if (StringUtils.isNotBlank(propertiesDB.getValidationQuery())) {
dataSource.setValidationQuery(propertiesDB.getValidationQuery());
}
dataSource.setTestOnBorrow(propertiesDB.getTestOnBorrow());
dataSource.setTestOnReturn(propertiesDB.getTestOnReturn());
dataSource.setPoolPreparedStatements(propertiesDB.getPoolPreparedStatements());
dataSource.setMaxPoolPreparedStatementPerConnectionSize(
propertiesDB.getMaxPoolPreparedStatementPerConnectionSize());
if (StringUtils.isNotBlank(propertiesDB.getFilters())) {
try {
dataSource.setFilters(propertiesDB.getFilters());
} catch (SQLException e) {
logger.error("初始化数据库连接池发生异常:{}", e.toString());
}
}
return dataSource;
}

druid:java代码创建连接池的更多相关文章

  1. MySQL_(Java)【连接池】简单在JDBCUtils.java中创建连接池

    MySQL_(Java)[事物操作]使用JDBC模拟银行转账向数据库发起修改请求 传送门 MySQL_(Java)[连接池]使用DBCP简单模拟银行转账事物 传送门 Java应用程序访问数据库的过程: ...

  2. 使用代理创建连接池 proxyPool

    配置文件properties url=jdbc:mysql://127.0.0.1:3306/mine?characterEncoding=UTF-8 user=root password=1234 ...

  3. Java基础-DBCP连接池(BasicDataSource类)详解

    Java基础-DBCP连接池(BasicDataSource类)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 ...

  4. (41)Spring Boot 使用Java代码创建Bean并注册到Spring中【从零开始学Spring Boot】

    已经好久没有讲一些基础的知识了,这一小节来点简单的,这也是为下节的在Spring Boot中使用多数据源做准备. 从Spring 3.0开始,增加了一种新的途径来配置Bean Definition,这 ...

  5. JAVA中创建线程池的五种方法及比较

    之前写过JAVA中创建线程的三种方法及比较.这次来说说线程池. JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用.另一类是通过Thr ...

  6. Spring Boot 使用Java代码创建Bean并注册到Spring中

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/catoop/article/details/50558333 声明同一个类下的多个实例: packa ...

  7. Spring Boot 使用Java代码创建Bean并注冊到Spring中

    从 Spring3.0 開始,添加了一种新的途经来配置Bean Definition,这就是通过 Java Code 配置 Bean Definition. 与Xml和Annotation两种配置方式 ...

  8. Java创建连接池连接不同数据库

    在一个应用里面,可能涉及到连接多个不同数据库进行操作,而每次连接写不同的实现会很麻烦.前面已经会了用JDBC连接数据库,那么利用反射和工厂模式,可以实现连接不同的数据库,这样处理起来将会很方便.同时建 ...

  9. java使用DBCP连接池创建工具类

    1.说明 java中有个扩展包 javax下面有个DataResource的接口  javax.sql.DataResource 该接口定义了连接池的方法规范 而DBCP框架有apache公司开发,他 ...

随机推荐

  1. java如何调用对方http接口(II)

    java如何调用接口 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适,所以,问题来了,java如何调用接口?很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对 ...

  2. 引用mchange-commons-java-0.2.3.4.jar架包

    pom.xml中增加 <!-- https://mvnrepository.com/artifact/com.mchange/mchange-commons-java --> <de ...

  3. GeoGlobe Server运维

    本篇博文简单记录鄙人在管理和维护GeoGlobe Server中,遇到的一些问题以及可行的解决方案 1 关于启动内存 Server默认的启动内存是256M,当服务比较多的时候,启动就会很慢.我们可以修 ...

  4. 20155324 2016-2017-2 《Java程序设计》第5周学习总结

    20155324 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 try.catch 1.求平均数程序示例 import java.util.Scanner; ...

  5. Linux基础学习【规则与安装】

    一.主分区.扩展分区与逻辑分区的特性: 主分区与扩展分区最多可以有4个(硬盘的限制) 扩展分区最多只能有1个 逻辑分区是由扩展分区持续切割出来的分区 能够被格式化后作为数据访问的分区为主分区和逻辑分区 ...

  6. Kaldi的nnet2 Component

    FixedAffineComponent:类 LDA-like 的非相关转换,由标准的 weight matrix plus bias 组成(即Wx+b),通过标准的 stochastic gradi ...

  7. 【blog】SpringBoot如何搭建聚合项目

    以我的博客为例 blog --blog-common --blog-entity --blog-repo --blog-service --blog-web SpringBoot聚合项目推荐 http ...

  8. .Net Core 配置文件appsettings

    1.配置文件为appsettings 在appsettings添加ConnectionStrings: { "Logging": { "IncludeScopes&quo ...

  9. Nginx(二) nginx 无法启动

    有时候在客户端输入:nginx 但是终端会输出以下,显示启动失败 nginx: [emerg] bind() to 0.0.0.0:8080 failed (48: Address already i ...

  10. 课程10:《黑马程序员_Hibernate开发资料》视频目录--没有细看

    老师很厉害,讲得蛮详细的 \Hibernate视频教程\01_黑马程序员_Hibernate教程__Hibernate入门基础.avi; \Hibernate视频教程\02_黑马程序员_Hiberna ...