【Spring】基于c3p0连接池,实现数据库加解密连接MySQL数据库
来源:互联网 发布:js怎么判断是不是数组 编辑:程序博客网 时间:2024/06/06 03:17
1、spring连接数据库的xml设置如下:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="properties"> <bean class="com.asiainfo.yuntie.util.DatasourcePropertiesFactory" factory-method="getProperties"> <constructor-arg type="java.lang.String"> <value>${jdbc.password}</value> </constructor-arg> </bean> </property> <property name="driverClass" value="${jdbc.driverClassName}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="user" value="${jdbc.username}"/> <!-- c3p0连接池的私有属性 --> <property name="maxPoolSize" value="30"/> <property name="minPoolSize" value="10"/> <!-- 关闭连接后不自动commit --> <property name="autoCommitOnClose" value="false"/> <!-- 获取连接超时时间 --> <property name="checkoutTimeout" value="1000"/> <!-- 当获取连接失败重试次数 --> <property name="acquireRetryAttempts" value="2"/> <!--每5小时检查所有连接池中的空闲连接。防止mysql wait_timeout(默认的为8小时) --> <property name="idleConnectionTestPeriod" value="18000"/> </bean>
(1)解密类的完全限定名; (2)解密方法; (3)properties文件中对应的key; 余下设置针对不同需求自己定制即可。
2、加解密类:
public class DatasourcePropertiesFactory { private static final String PROP_PASSWORD = "password"; private static final Log logger = LogFactory.getLog(DatasourcePropertiesFactory.class); /** * * @Title: getProperties * @Description: 获取数据库密码 * @param: @param password * @param: @return * @param: @throws Exception * @return: Properties * @author tanglei * @throws */ public static Properties getProperties(String password) throws Exception { Properties properties = new Properties(); try { //解密密码 properties.setProperty(PROP_PASSWORD, EncryptAndDecrypt.Decrypt(password)); } catch (Exception e) { logger.error("DatasourcePropertiesFactory getProperties is error!", e); } return properties; }}
这里的 EncryptAndDecrypt.Decrypt(password) 就是我所用的加解密方法,由于安全问题这里就不公开这个类里面的具体方法,找一个或者自己写一个都可以,只要保证可以正常加解密即可。
3、db.properties文件设置:
0 0
- 【Spring】基于c3p0连接池,实现数据库加解密连接MySQL数据库
- c3p0连接MySql数据库
- Druid连接池自定义数据库密码加解密的实现
- Druid连接池自定义数据库密码加解密的实现
- Druid连接池自定义数据库密码加解密的实现
- spring c3p0连接数据库异常
- 使用c3p0连接mysql数据库
- 用jdbc连接mysql数据库(c3p0连接池篇)
- 如何使用c3p0+spring连接oracle数据库
- 如何利用连接池C3P0连接数据库
- Spring配C3P0连接池(以MySQL数据库配置为例)
- Spring 连接MySQL 数据库
- 关于hibernate 利用c3p0连接mysql 数据库
- 关于hibernate 利用c3p0连接mysql 数据库
- 关于hibernate 利用c3p0连接mysql 数据库
- 关于hibernate 利用c3p0连接mysql 数据库
- DBCP和C3P0连接MySQL数据库
- 关于hibernate 利用c3p0连接mysql 数据库
- dubbo架构简要分析
- 面试
- 关于mysql-connector-net和C#.net
- 吐槽CSDN手机验证
- Redux-form系列教程
- 【Spring】基于c3p0连接池,实现数据库加解密连接MySQL数据库
- WebView截屏
- 单链表逆转
- 开通啦
- 日期工具类TimeUnit
- 从逻辑回归到SVM
- eclipse build path功能总结
- stm32f10x_startup.s的代码
- build.prop 文件的部分参数