zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    UEditor用法
    String,StringBuffer与StringBuilder差异??
    TsFltMgr.sys其原因是,该系统蓝屏QQ计算机管理器!
    Linux编程实现守护进程
    开机黑屏 只显示鼠标 电脑黑屏 有只老鼠 举 [我们已经成功地解决了]
    页面背景图像的代码
    动态规划01背包问题
    关键部分CCriticalSection使用
    编程:获取股票实时行情数据大全
    iphone开发教程下载
  • 原文地址:https://www.cnblogs.com/Coolkaka/p/5939240.html
Copyright © 2011-2022 走看看