DBCP

DBCP(DataBase Connection Pool)数据库连接池,由Apache公司开发。连接池的运用避免了反复建立连接造成的资源浪费,预先建立一些连接放在数据库连接池中,需要时取出,不需要时放入连接池。

需要导入两个jar包:commons-pool-1.5.6和commons-dbcp-1.4.jar

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

import org.apache.commons.dbcp.BasicDataSource;

public class JDBCUtils {
    private static BasicDataSource datasource = new BasicDataSource();
    /*
     * BasicDataSource类,实现了datasource接口
     */

    static {// 静态代码块,对象BasicDataSource对象中的配置,自定义

        InputStream in = JDBCUtils.class.getClassLoader().getResourceAsStream("DBCP.properties");
        Properties pro = new Properties();
        try {
            pro.load(in);
        } catch (IOException e) {
            e.printStackTrace();
        }

        // 数据库基本的连接信息,必须要设置(必须项)
        datasource.setDriverClassName(pro.getProperty("driver"));
        datasource.setUrl(pro.getProperty("url"));
        datasource.setUsername(pro.getProperty("username"));
        datasource.setPassword(pro.getProperty("password"));
        // 对象连接池中的连接数量配置,可以不设置(基本项)
        datasource.setInitialSize(100);// 初始化的连接数
        datasource.setMaxActive(90);// 最大连接数量
        datasource.setMaxIdle(10);// 最大空闲数
        datasource.setMinIdle(5);// 最小空闲
    }

    // 返回BasicDataSource类的对象
    public static BasicDataSource getDataSource() {
        return datasource;
    }
}
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;

public class Test {
    public static void main(String[] args) {

        QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());//参数为数据源

        try {
            String sql = "select * from Student";
            List<Object[]> list = qr.query(sql, new ArrayListHandler());
            for (Object[] objs : list) {//list集合
                for (Object obj : objs) {
                    System.out.print(obj + "\t");
                }
                System.out.println();
            }
        } catch (SQLException ex) {
            System.out.println(ex);
            throw new RuntimeException("数据查询失败");
        }
    }

}

 

转载于:https://www.cnblogs.com/zhai1997/p/11384311.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值