• Java-DBCP连接池


    创建项目:

    导入jar包:

      参见上图。

    JDBCConn.java获取数据源类:

    package com.gordon.jdbcconn;
    
    import java.io.InputStream;
    import java.util.Properties;
    
    import javax.sql.DataSource;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    public class JDBCConn {
    
    	private static String DRIVERNAME = null;
    	private static String URL = null;
    	private static String USER = null;
    	private static String PASSWORD = null;
    
    	private static BasicDataSource datasource = new BasicDataSource();
    
    	static {
    		try {
    
    			Properties props = new Properties();
    			InputStream in = JDBCConn.class.getClassLoader().getResourceAsStream("db.properties");
    			props.load(in);
    
    			DRIVERNAME = props.getProperty("drivername");
    			URL = props.getProperty("url");
    			USER = props.getProperty("user");
    			PASSWORD = props.getProperty("password");
    
    		} catch (Exception e) {
    			throw new RuntimeException(e);
    		}
    	}
    
    	public static DataSource getDatasource() throws Exception {
    		
    		/*
    			driverClassName	数据库驱动名称
    			url				数据库的地址
    			username		用户名
    			password		密码
    			maxActive		最大连接数量
    			minIdle			最小空闲连接
    			maxIdle 		最大空闲连接
    			initialSize		初始化连接
    		 */
    		
    		datasource.setDriverClassName(DRIVERNAME);
    		datasource.setUrl(URL);
    		datasource.setUsername(USER);
    		datasource.setPassword(PASSWORD);
    		
    		return datasource;
    	}
    }
    

      

    DBCPTest.java测试类:

    package com.gordon.dbcp;
    
    import java.util.List;
    
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.handlers.ArrayListHandler;
    
    import com.gordon.jdbcconn.JDBCConn;
    
    public class DBCPTest {
    	public static void main(String[] args) {
    		try {
    
    			selectFunction();
    			insertFunction();
    			selectFunction();
    
    		} catch (Exception e) {
    			System.out.println(e.getMessage());
    		}
    	}
    
    	public static void insertFunction() throws Exception {
    		QueryRunner qr = new QueryRunner(JDBCConn.getDatasource());
    		
    		String sql = "INSERT INTO user (name) VALUES (?)";
    		
    		Object[] params = {"testname"};
    		
    		int res = qr.update(sql, params);
    		
    		if(res > 0) {
    			System.out.println("insert success.");
    		} else {
    			System.out.println("insert faild.");
    		}
    	}
    	
    	public static void selectFunction() throws Exception {
    		QueryRunner qr = new QueryRunner(JDBCConn.getDatasource());
    
    		String sql = "SELECT * FROM user";
    
    		Object[] params = {};
    
    		List<Object[]> objList = qr.query(sql, new ArrayListHandler(), params);
    
    		for (Object[] objs : objList) {
    			for (Object obj : objs) {
    				System.out.print(obj + " ");
    			}
    			System.out.println();
    		}
    	}
    }
    

      

  • 相关阅读:
    c# 基础连接已经关闭: 连接被意外关闭,错误的解决
    关于SSIS中代码页(Code Page) 相关错误
    WinAPI: CopyFileEx
    RegularExpressions(5) RegularExpressions 成员(二) IRegex
    RegularExpressions(4) RegularExpressions 成员(一)
    RegularExpressions(3) RegularExpressions 的工作思路
    一句话复制整个文件夹(当然包括嵌套文件夹) 回复 "张哆哆" 的问题
    有趣的 TBitBtn.Kind
    如何用 GDI+ 高质量地缩放图片 回复 "程序牛" 的问题
    如何用 GDI 绘制阴影文字 回复 "Splendour" 的问题
  • 原文地址:https://www.cnblogs.com/hfultrastrong/p/7040233.html
Copyright © 2020-2023  润新知