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. 关于selenium的那些坑

    selenium 辅助工具 splinter 总有人看不明白,以防万一,先在开头大写加粗说明一下: frameset不用切,frame需层层切! 很多人在用selenium定位页面元素的时候会遇到定位 ...

  2. vmware+centos

    centos 7 在安装的时候使用 net.ifname=0 biosdevname=0 使网卡名和以前一样 /boot 引导系统启动,内核 /swap 交换分区,临时作为内存使用防止内存不够使用导致 ...

  3. keeping.py

    定时push+告警 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author : 71standby@gmail.com # Description ...

  4. cookie与session的区别与关系

    cookie与session的区别 1. 存储位置不同 cookie存储在浏览器中 session存储在服务端里 2. 大小不同 cookie最大4K session由于是存在服务端,因此理论上没有大 ...

  5. MQTT学习笔记

    因为工作需要,了解了一下MQTT.顺便记下来,现在还不会用. 一.概述 MQTT(Message Queuing Telemetyr Transport  消息队列遥测传输协议):基于发布/订阅(Pu ...

  6. 【Python】Xml To Excel

    [Python3] 之前做的入门练习里有一题将excel文件转化为xml文件,这回补上逆向转换→xml to excel 用的还是beautifulsoup. 主要还是:①读取待处理文件文本内容 ②处 ...

  7. EF 事物Transaction简单操作

    /// <summary> /// 申请提现 /// </summary> /// <param name="userId">用户id</ ...

  8. Django基础自测

    6.如何在URLconf中给URL命名?在视图和模板中如何使用URL反向解析?写出所有情况 13.请写出使用jQuery发送ajax请求,能通过Django的CSRF校验的两种方法 14.请使用Dja ...

  9. jq的遍历关系元素方法集合

    children .children(selector) 返回被选元素的所有直接子元素,不返回文本节点: 下面例子:给level-2的子元素设置border.比较使用children和find htm ...

  10. Django REST framework 第二章 Request and Response

    此章节开始真正的撰写REST framework的核心代码,介绍一系列必要的建立设计 Request Objects REST framework介绍了一个Request对象用来扩展常规的HttpRe ...