java DBCP 数据库连接池

  1. 所需jar包
  • apache的commons组件:
  • commons-dbutils-1.4.jar:封装并简化了JDBC;
  • mysql-connector-java-5.1.37-bin.jar:MySQL的JDBC驱动包,用JDBC连接MySQL数据库必须使用该JAR包。
  • commons-dbcp-1.4.jar, commons-pool-1.3.jar :连接池, 提供连接,优化效率.

2.使用数据库连接池

package cn.imust.DBCP;

import org.apache.commons.dbcp.BasicDataSource;

/*
 * 使用数据库连接池
 * DBCP连接池
 * 		BasicDataSource 实现javax.sql.DataSource接口
 */
public class Demo_01_BasicDataSource {
	public static BasicDataSource getSource() {
		BasicDataSource source = new BasicDataSource();
		// 设置驱动程序
		source.setDriverClassName("com.mysql.jdbc.Driver");
		// 设置数据库连接URL
		source.setUrl("jdbc:mysql://localhost:3306/gip");
		// 设置用户名和密码
		source.setUsername("root");
		source.setPassword("123456");
		return source;// 返回source对象
	}
}

3.测试数据库连接池

package cn.imust.DBCP;

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

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

public class Demo_02_DBCPTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		BasicDataSource source = Demo_01_BasicDataSource.getSource();
		// QueryRunner类简单化了SQL查询
		QueryRunner qr = new QueryRunner(source);
		try {// ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
			List<Object[]> list = qr.query("SELECT * FROM STUDENT", new ArrayListHandler());
			for (Object[] objects : list) {
				for (Object object : objects) {
					System.out.print(object);
				}
				System.out.println();
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}

你可能感兴趣的:(JAVA,数据库连接池)