|
本帖最后由 4378430 于 2018-3-10 14:44 编辑
作用:管理的Connection 实现连接的共享
有了链接池 我们就不需要每次都创建连接 这个动作由连接池去完成
减少了和本地资源的交互 而且也提高了执行的效率
使用到的jar包:
commons-dbcp-1.4.jar
commons-dbutils-1.6.jar
commons-pool-1.5.6.jar
mysql-connector-java-5.1.37-bin.jar
- package com.wwangluo_demo;
- import java.sql.SQLException;
- import java.util.List;
- import org.apache.commons.dbutils.QueryRunner;
- import org.apache.commons.dbutils.handlers.ArrayListHandler;
- import com.wwangluo_jdbcutiles.JDBCUtiles;
- /**
- * 测试工具类
- * 提供一个DataSourse数据源
- * QueryRunner类的构造方法,可以接受DataSourse接口的实现类
- * 后面再去调用方法,无需传递它们的Connection链接对象
- * @ClassName
- * @Data
- */
- public class QueryRunnerDemo {
- public static void main(String[] args) {
- //insert();
- select();
- }
- //定义2个方法 1.实现数据表的添加 2.实现数据表的cha询
- //QueryRunner类的对象,写在成员的位置
- private static QueryRunner qr = new QueryRunner(JDBCUtiles.getDataSource());//通过反射传递的是工具类的方法
-
- //数据表的cha询
- public static void select(){
- String sql = "SELECT * FROM sort";
- try{
- List<Object[]> list = qr.query(sql, new ArrayListHandler());
- for (Object[] objects : list) {
- for (Object object : objects) {
- System.out.print(object + "\t");
- }
- System.out.println();
- }
- }catch(SQLException ex){
- throw new RuntimeException(ex+"数据cha询失败");
- }
- }
- //数据表的添加数据
- public static void insert(){
- //创建要执行的sql语句
- String sql = "INSERT INTO sort (sname,sprice,sdesc) VALUES (?,?,?)";
- Object[] params = {"水果",100.12,"今年刚刚上市的"};
- try{
- int row = qr.update(sql, params);
- System.out.println(row);
- }catch(SQLException ex){
- throw new RuntimeException(ex+"数据添加失败");
- }
- }
-
-
- }
复制代码
- package com.wwangluo_jdbcutiles;
- import javax.sql.DataSource;
- import org.apache.commons.dbcp.BasicDataSource;
- /**
- * 用到的jar包: commons-dbcp-1.4.jar commons-dbutils-1.6.jar commons-pool-1.5.6.jar
- * mysql-connector-java-5.1.37-bin.jar
- */
- /*
- * 使用DBCP实现数据库的连接池 连接池配置 自定义类 最基本四项完整 对于数据库其他配置 自定义
- */
- public class JDBCUtiles {
- // 先创建出BasicDataSource类对象
- private static BasicDataSource datasource = new BasicDataSource();
- // 定义静态代码块 对BasicDataSource对象中的配置,自定义
- static {
- //连接数据库的信息 是必须配置的
- datasource.setDriverClassName("com.mysql.jdbc.Driver");
- datasource.setUrl("jdbc:mysql://localhost:3306/mybase");
- datasource.setUsername("root");
- datasource.setPassword("root");
- // 对象链接池中的数量进行配置 可选择
- datasource.setInitialSize(10);// 初始化的连接数
- datasource.setMaxActive(8);//最大连接数量
- datasource.setMaxIdle(8);// 最大空闲数
- datasource.setMinIdle(5);// 最小空闲数
- }
- // 定义静态方法 返回BasicDataSource的对象
- // 调用这个方法就可以拿到这些数据
- public static DataSource getDataSource() {
- return datasource;
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|