Java连载142-使用数据库连接池批量查询数据
一、创建一个数据库连接池
- 首先建立工程 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");
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> DataSource <span class="hljs-title function_">getDataSource</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> 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());
<span class="hljs-type">String</span> <span class="hljs-variable">sql</span> <span class="hljs-operator">=</span> <span class="hljs-string">"select * from students"</span>;
List<Object> list = (List<Object>) queryRunner.query(sql, <span class="hljs-keyword">new</span> <span class="hljs-title class_">ColumnListHandler</span>(<span class="hljs-string">"s_name"</span>));
System.out.println(list);
}
}
二、源码:
- ibank
- https://github.com/ruigege66/Java/tree/master/ibank
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客园:https://www.cnblogs.com/ruigege0000/
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流