JDBC代码模板
import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; import org.apache.commons.dbcp.BasicDataSourceFactory; import org.junit.Test; /** * 使用dbcp连接池工具 * @author APPle * */ public class TestDBCP { private static String url = "jdbc:mysql://localhost:3306/mydb"; private static String user = "root"; private static String password = "root"; private static String driverClass = "com.mysql.jdbc.Driver"; @Test public void test1(){ //1.创建连接池对象 BasicDataSource bds = new BasicDataSource(); //2.使用方法设置连接参数 bds.setUrl(url); bds.setUsername(user); bds.setPassword(password); bds.setDriverClassName(driverClass); //3.设置连接池参数 bds.setInitialSize(5); //初始化连接数 bds.setMaxActive(8);//最大并发连接数 bds.setMaxWait(5000);//最大等待时间,当连接超过最大并发连接数之后,用户需要等待的时间,当超过等待的时间,会抛出连接超时的异常 bds.setMaxIdle(3);//最大空闲连接数量。当程序拿到连接超过了空闲时间没用,那么连接池就会回收这个连接对象 //..... //4.获取连接 for(int i=1;i<=9;i++){ Connection conn = null; try { conn = bds.getConnection(); //遵守sun公司的jdbc的DataSource接口规范 /*if(i==1){ PreparedStatement stmt = null; stmt = conn.prepareStatement("create table student(id int)"); stmt.executeUpdate(); }*/ System.out.println(conn); /*if(i==3){ //释放连接 conn.close();//这里并不是真的关闭连接,而是把连接对象放回连接池 }*/ } catch (SQLException e) { e.printStackTrace(); } } } /** * 使用配置文件的方法读取连接参数和连接池参数(推荐使用) * 默认规则: properties文件的键名称和设置参数的方法名称保持一致。属性自动设置到BasicDataSource对象中 */ @Test public void test2(){ try { //1.从连接池工厂类中 , 创建连接池对象 Properties prop = new Properties(); //读取jdbc.properties文件 prop.load(TestDBCP.class.getResourceAsStream("/jdbc.properties")); BasicDataSource bds = (BasicDataSource)BasicDataSourceFactory.createDataSource(prop); //2.获取连接 for(int i=1;i<=9;i++){ Connection conn = null; try { conn = bds.getConnection(); /*if(i==1){ PreparedStatement stmt = null; stmt = conn.prepareStatement("create table student(id int)"); stmt.executeUpdate(); }*/ System.out.println(conn); if(i==3){
url=jdbc:mysql://localhost:3306/day19
username=root
password=root
drvierClassName=com.mysql.jdbc.Driver
initialSize=5
maxActive=8
maxWait=5000
maxIdle=3000
做做笔记,传播知识,我是个勤劳的搬运工
1224144402@qq.com