Apache DBCP
DBCP 是 Apach软件基金组织下的开源数据库连接池的实现,使用DBCP 数据源,应用程序需要在系统中增加两个jar文件:
Commons-dbcp.jar : 连接池的实现
Commons-pool.jar : 连接池实现的依赖库
步骤一:创建 dbcp.properties 文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test06
username=root
password=123
步骤二: 将配置文件 加载成 properties 对象。
//配置文件的方式
Properties properties = new Properties();
properties.load(new FileInputStream(“src/com/hxc/dbcp/jdbc.properties”));
步骤三:使用dbcp数据源工厂 创建dbcp数据源
//创建数据源
DataSource dataSource = BasicDataSourceFactory.createDataSource(properties);
代码示例:
C3P0
C3P0 是一个开源的JDBC连接池,目前他的开源项目有spring和hibernate。
spring 和 hibernate对C3P0进行支持。
使用c3p0数据库连接池之前,首先需要将ar包加载到项目中。
C3P0配置文件的方式:
dbcp数据库连接池需要获取配置文件交给dbcp,然后才能去创建数据库连接池。
c3p0,只需要将信息配置好,取好固定的名字:c3p0-config.xml然后将文件放在src目录下,c3p0数据库连接池自己去获取配置文件,自己解析配置文件。
1.c3p0的xml配置文件的名称必须叫做c3p0-config.xml
2. C3p0-config.xml必须放在src目录下。
#配置文件自动获取
<ml version=”1.0″ encoding=”UTF-8″gt;
<c3p0-config>
<default-config>
<property name=”driverClass”>com.mysql.jdbc.Driver</property>
<property name=”jdbcUrl”>jdbc:mysql://localhost:3306/test06</property>
<property name=”user”>root</property>
<property name=”password”>123</property>
<!– 如果连接池中连接不够时一次性增长多少连接 –>
<property name=”acquireIncrement”>5</property>
<!– 初始化连接池时池子中有多少个连接 –>
<property name=”initialPoolSize”>20</property>
<!– 池子中最小连接数 –>
<property name=”minPoolSize”>10</property>
<!– 池子中最大连接数 –>
<property name=”maxPoolSize”>40</property>
</default-config>
<named-config name=”test07″>
<property name=”driverClass”>com.mysql.jdbc.Driver</property>
<property name=”jdbcUrl”>jdbc:mysql://localhost:3306/test07</property>
<property name=”user”>root</property>
<property name=”password”>123</property>
</named-config>
</c3p0-config>
//代码示例
public static void main(String[] args) throws Exception {
//首先创建c3p0的数据库连接池 ,c3p0数据库连接池直接去寻找配置文件,自动解析
ComboPooledDataSource dataSource = new ComboPooledDataSource();
//获取连接
Connection connection = dataSource.getConnection();
//创建preparedstatement对象,执行sql语句
PreparedStatement prepareStatement = connection.prepareStatement(“insert into user values(“);
prepareStatement.setString(1, “124”);
prepareStatement.setString(2, “u27”);
prepareStatement.setInt(3, 22);
prepareStatement.setString(4, “123”);
int executeUpdate = prepareStatement.executeUpdate();
//释放资源
prepareStatement.close();
connection.close();
}
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!