快速了解数据库连接池的使用
1.基本了解
* java为了解决频繁创建数据库连接和释放数据库链接的问题
* 使用了 数据库连接池来解决
* 并且 出了一套规划部 数据库连接池规范(接口)
* javax.sql.DataSource java扩展包
* 由数据库厂商提供的 DBCP C3P0
* 常用数据库连接池 DBCP C3P0
* 需要导入jar包有2个(dbcp中依赖pool jar包中的类)
* mysql-connector-java-5.1.37-bin.jar
* commons-dbcp-1.4.jar
* commons-pool-1.5.6.jar
* BasicDataSource 是 DataSource(规范类)的实现类
* 基础设置(要使用数据库连接池 必须要设置的内容)
* mysql驱动类 com.mysql.jdbc.Driver
2.规划解数据库连接池
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class DataSourceUtil {
private static BasicDataSource dataSource = new BasicDataSource();
static {
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/myjdbc");
dataSource.setUsername("root");
dataSource.setPassword("123456");
dataSource.setInitialSize(10);
dataSource.setMaxActive(8);
dataSource.setMaxIdle(5);
dataSource.setMinIdle(2);
}
public static DataSource get() {
return dataSource;
}
public static DataSource getDataSource() {
return dataSource;
}
}
3.测试DataSourceUtil类
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
public class Demo03 {
public static void main(String[] args) throws SQLException {
QueryRunner qr = new QueryRunner(DataSourceUtil.getDataSource());
String sql = "insert into sort values(null,?,?,?)";
Object[] params = {"试卷",10,"一份万分试卷"};
int row = qr.update(sql,params);
if (row > 0) {
System.out.println("插入成功");
}
}
}