c3p0——开源数据库连接池(DataSource)
来源:互联网 发布:什么是数据架构 编辑:程序博客网 时间:2024/05/22 02:09
现在很多WEB服务器(Weblogic, WebSphere, Tomcat)都提供了DataSoruce的实现,即连接池的实现。通常我们把DataSource的实现,按其英文含义称之为数据源,数据源中都包含了数据库连接池的实现。
也有一些开源组织提供了数据源的独立实现:
第二种方法:使用xml配置文件,这种方法更常见和普遍。
开发时常用。
也有一些开源组织提供了数据源的独立实现:
①DBCP 数据库连接池
②C3P0 数据库连接池(使用最简单方便)
③Apache Tomcat内置的连接池(apache dbcp)
实际应用时不需要编写连接数据库代码,直接从数据源获得数据库的连接。程序员编程时也应尽量使用这些数据源的实现,以提升程序的数据库访问性能。
使用时,需要新建java工程,在工程中建立“lib”目录,其中添加c3p0-0.9.1.2.jar和mysql-connector-java-5.0.8-bin.jar(mysql驱动)包,并add to build path。
第一种方法:不使用xml配置文件。
/** * 演示c3p0的使用方法 * @project_name Day11 * @class_name C3P0Demo * @author Dovinya * @data 2014-8-27 下午07:57:42 * @version 1 * @notes */public class C3P0Demo {@Testpublic void operateDatabase() {Connection conn =null;PreparedStatement ps = null;ResultSet rs = null;try {//Class.forName("com.mysql.jdbc.Driver");//conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/day11", "root", "123");//ps = conn.prepareStatement("select * from account");ComboPooledDataSource dataSource = new ComboPooledDataSource();dataSource.setDriverClass("com.mysql.jdbc.Driver");dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/day11");dataSource.setUser("root");dataSource.setPassword("123");conn = dataSource.getConnection();ps = conn.prepareStatement("select * from account");rs = ps.executeQuery();while(rs.next()){String name = rs.getString("name");System.out.println(name);}} catch (Exception e) {e.printStackTrace();}finally{if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}finally{rs=null;}}if(ps!=null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}finally{ps=null;}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}finally{conn=null;}}}}}
第二种方法:使用xml配置文件,这种方法更常见和普遍。
先新建xml文件,命名为c3p0-config.xml,在其中添加如下代码:
<?xml version="1.0" encoding="UTF-8"?><c3p0-config><default-config><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql:///day11</property><property name="user">root</property><property name="password">123</property><property name="acquireIncrement">3</property> <!--当连接池中已经没有连接时,连接池自动获取连接时一次获取的连接个数--><property name="initialPoolSize">10</property> <!--初始化连接池时,获取的连接个数--><property name="minPoolSize">2</property> <!--连接池应该保有的最小连接的数量--> <property name="maxPoolSize">10</property> <!--连接池中可以保有的最大连接数量--></default-config></c3p0-config>然后,新建java文件,在其中添加如下代码:
import com.mchange.v2.c3p0.ComboPooledDataSource;/** * 演示c3p0的使用方法 * @project_name Day11 * @class_name C3P0Demo * @author Dovinya * @data 2014-8-27 下午07:57:42 * @version 1 * @notes */public class C3P0Demo {@Testpublic void operateDatabase() {Connection conn =null;PreparedStatement ps = null;ResultSet rs = null;try {ComboPooledDataSource dataSource = new ComboPooledDataSource();conn = dataSource.getConnection();ps = conn.prepareStatement("select * from account");rs = ps.executeQuery();while(rs.next()){String name = rs.getString("name");System.out.println(name);}} catch (Exception e) {e.printStackTrace();}finally{if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}finally{rs=null;}}if(ps!=null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}finally{ps=null;}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}finally{conn=null;}}}}}
开发时常用。
0 0
- c3p0——开源数据库连接池(DataSource)
- C3p0——数据库连接池
- JAVA开源数据库连接池C3P0简介
- C3P0(开源的数据库连接池)
- 数据库连接池——dbcp和c3p0
- Java数据库连接池2——c3p0
- mysql笔记八——开源数据库连接池DBCP和C3P0的使用
- debug笔记:使用c3p0数据库连接池配置datasource出现ClassNotFoundException的解决方法
- DataSource,数据库连接池
- 数据库连接池-DataSource实现
- 数据库连接池Datasource
- 数据库连接池DataSource
- C3P0开源数据库连接池的编写源码
- C3P0开源数据库连接池的编写源码
- C3P0开源数据库连接池的编写源码
- java开源数据库连接池C3P0配置详解
- 开源数据库连接池C3P0,DBCP的使用
- JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)
- 学习FPGA的网站推荐
- bill
- HDU-3308 LCIS
- XDOJ 1076 - 有没有女孩子愿意跟我一起回家种田~~
- 常见算法在实际项目中的应用
- c3p0——开源数据库连接池(DataSource)
- 最新版chrome文字显示不了
- java中文件IO之图片的拷贝解析
- 虚函数能否是内联的
- 【Android】SlidingMenu属性详解
- [其它]iOS中的gzip解压
- 配置ssh公钥访问oschina
- Hibernate学习-------对象在Hibernate中的三种状态
- 变量函数引用数组