1、建立一個數據庫鏈接池
- 首先創建工程chaper03,而後在
src
目錄下建立xml文件
- 該文件中定義了數據的密碼的屬性,用於鏈接數據庫
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<named-config name="qfedu">
<propertyname="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl" >jdbc:mysql:192.168.1.9:3306?encodingCharacter=utf8&//</property>
<property name="user">root</property>
<property name="password">nicaibudao</property>
<property name="acquireIncrement">5</property>
<property name="initialPoolSize">20</property>
<property name="minPoolSize">10</property>
<property name="maxPoolSize">40</property>
<property name="maxStatement">0</property>
<property name="maxStatementPerConnection">5</property>
</named-config>
</c3p0-config>
- 而後建立一個
com.qfedu.utils
的包,建立一個工具類C3P0Utils,用於鏈接數據庫等操做
package com.qfedu.utils;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class C3P0Utils {
private static ComboPooledDataSource dataSource = new ComboPooledDataSource("qfedu");
public static DataSource getDataSource() {
return dataSource;
}
}
package com.qfedu.test;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ColumnListHandler;
import com.qfedu.utils.C3P0Utils;
public class TestDBUtils_ColumnListHandler {
public static void main(String[] args) throws SQLException{
QueryRunner queryRunner = new QueryRunner(C3P0Utils.getDataSource());
String sql = "select * from students";
List<Object> list = (List<Object>) queryRunner.query(sql, new ColumnListHandler("s_name"));
System.out.println(list);
}
}
2、源碼: