当前位置:Gxlcms > 数据库问题 > 14DBCP连接池

14DBCP连接池

时间:2021-07-01 10:21:17 帮助过:9人阅读

cn.jxufe.java.chapter12.demo02; import java.sql.Connection; import java.sql.SQLException; import org.apache.commons.dbcp.BasicDataSource; /* * 连接池jar包中,定义好一个类 BasicDataSource * 实现类数据源的规范接口 javax.sql.DataSource */ public class Test01BasicDataSource { public static void main(String[] args) { // TODO Auto-generated method stub // 创建DataSource接口的实现类对象 // 实现类, org.apache.commons.dbcp BasicDataSource basicDataSource = new BasicDataSource(); // 连接数据库的4个最基本信息,通过对象方法setXXX设置进来 basicDataSource.setDriverClassName("com.mysql.jdbc.Driver"); basicDataSource.setUrl("jdbc:mysql://localhost:3306/mydatabase"); basicDataSource.setUsername("root"); basicDataSource.setPassword("123456"); try { Connection connection = basicDataSource.getConnection(); System.out.println(connection); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); throw new RuntimeException("数据库连接失败"); } } }

技术图片

2.3常见配置项

 

分类

属性

描述

必须项

driverClassName

数据库驱动名称

url

数据库的地址

username

用户名

password

密码

基本项(扩展)

maxActive

最大连接数量

minIdle

最小空闲连接

maxIdle

最大空闲连接

initialSize

初始化连接

 

2.4实现数据库连接池工具类

package cn.jxufe.java.chapter12.demo02;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;

/*
 *  测试写好的工具类,
 *  提供的是一个DataSource接口的数据源
 *  QueryRunner类构造方法,接收DataSource接口的实现类
 *  后面,调用方法update,query,无需传递他们Connection连接对象
 */
public class Test02JDBCUtils {
    // 定义2个方法,实现数据表的添加,数据表查询
    // QueryRunner类对象,写在类成员位置
    private static QueryRunner qr = new QueryRunner(JDBCUtils.getDataSource());

    public static void main(String[] args) {
        // TODO Auto-generated method stub
//        insert();
        select();

    }

    // 数据表添加数据
    public static void insert() {
        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) {
            System.out.println(ex);
            throw new RuntimeException("数据添加失败");
        }
    }

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

技术图片

 

14DBCP连接池

标签:数据   tom   sort   ack   inf   分类   cut   sde   解决   

人气教程排行