创建C3P0数据源
来源:互联网 发布:php搜狗微信搜索 爬虫 编辑:程序博客网 时间:2024/05/16 12:57
[Author]: kwu
创建C3P0数据源,实际开发中直接用JDBC连接数据库是非常少的,一般使用数据源的形式,C3P0是开源的数据源,实际项目用得很多:
1、增加maven的支持
<dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version></dependency>
2、配置C3P0,默认配置文件c3p0-config.xml:
<?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named-config name="c3p0"> <property name="user">root</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/charts</property> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="password">root</property> <property name="acquireIncrement">5</property> <property name="initialPoolSize">5</property> <property name="minPoolSize">5</property> <property name="maxPoolSize">10</property> <property name="maxStatements">25</property> <property name="maxStatementsPerConnection">5</property> </named-config></c3p0-config>
3、引用数据源
package com.hexun.utils;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.sql.DataSource;import com.mchange.v2.c3p0.ComboPooledDataSource;/** * JDBC 的工具类 * * 其中包含: 获取数据库连接, 关闭数据库资源等方法. */public class JDBCTools {//处理数据库事务的//提交事务public static void commit(Connection connection){if(connection != null){try {connection.commit();} catch (SQLException e) {e.printStackTrace();}}}//回滚事务public static void rollback(Connection connection){if(connection != null){try {connection.rollback();} catch (SQLException e) {e.printStackTrace();}}}//开始事务public static void beginTx(Connection connection){if(connection != null){try {connection.setAutoCommit(false);} catch (SQLException e) {e.printStackTrace();}}}private static DataSource dataSource = null;//数据库连接池应只被初始化一次. static{dataSource = new ComboPooledDataSource("c3p0");}public static Connection getConnection() throws Exception {return dataSource.getConnection();}public static void releaseDB(ResultSet resultSet, Statement statement,Connection connection) {if (resultSet != null) {try {resultSet.close();} catch (SQLException e) {e.printStackTrace();}}if (statement != null) {try {statement.close();} catch (SQLException e) {e.printStackTrace();}}if (connection != null) {try {//数据库连接池的 Connection 对象进行 close 时//并不是真的进行关闭, 而是把该数据库连接会归还到数据库连接池中. connection.close();} catch (SQLException e) {e.printStackTrace();}}}}
引用时直接调用静态方法即可。
1 0
- 创建C3P0数据源
- 创建C3P0数据源
- C3P0数据源
- C3P0数据源
- c3p0数据源
- DBCP数据源,C3P0数据源
- C3P0数据源使用
- C3P0数据源配置
- java c3p0数据源配置
- jndi c3p0 数据源 配置
- spring c3p0数据源配置
- spring c3p0数据源配置
- c3p0数据源的配置
- SSH C3P0数据源
- c3p0数据源配置
- hibernate 使用C3P0数据源
- hibernate使用c3p0数据源
- Tomcat配置c3p0数据源
- memcached分布式布置方案
- List,Set,Map(面试时的尴尬)
- java MD5加密算法实现
- Laravel 4 系列入门教程(二)【最适合中国人的Laravel教程
- ubuntu中安装samba
- 创建C3P0数据源
- Sizeof与Strlen的区别与联系
- git 常用命令
- Laravel 4 系列入门教程(三)【最适合中国人的Laravel教程】
- 【Android】2014年框架类源码年度精品汇总
- dedecms织梦图集上传图片无水印的解决办法
- log4net
- PHP学习笔记(十一):网上社区项目的知识点总结
- 机器学习之笔记一(python入门)