美文网首页
DBCP连接池

DBCP连接池

作者: 小牛长成记 | 来源:发表于2018-11-05 21:23 被阅读0次
    public class DBCPUtil {
        private static javax.sql.DataSource ds = null ;
    
    static{
        //创建属性类读取文件
        Properties pro = new Properties();
        try {
            //读取配置文件   getClassLoader()为类加载器  getResourceAsStream("dbcpconfig.properties")获取目标文件的字节流
            pro.load(DBCPUtil.class.getClassLoader().getResourceAsStream("dbcpconfig.properties"));
            ds = BasicDataSourceFactory.createDataSource(pro);
        } catch (Exception e) {
            throw new ExceptionInInitializerError("初始化错误,请检查配置文件");
        }
    }
    
    
    //创建链接
    public static Connection getConnection(){
        try {
            return ds.getConnection();
        } catch (SQLException e) {
            throw new RuntimeException("服务器忙。。。");
        }
        
    }
    //关闭资源
    public static void release(Connection con,PreparedStatement ps,ResultSet rs){
         try {
             if(rs != null){
                rs.close();
             }
             if(ps != null){
                 ps.close();
             }
             if(con != null){
                 con.close();
             }
        } catch (SQLException e) {
            System.out.println("资源关闭失败!");
            e.printStackTrace();
        }
     }
    

    }

    配置文件:dbcpconfig.properties

    连接设置

    driverClassName=com.mysql.jdbc.Driver
    url=jdbc:mysql://localhost:3306/servlet
    username=root
    password=

    initialSize=10

    最大连接数量

    maxActive=50

    maxIdle=20

    minIdle=5

    maxWait=60000

    JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]

    注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。

    connectionProperties=useUnicode=true;characterEncoding=utf8

    指定由连接池所创建的连接的自动提交(auto-commit)状态。

    defaultAutoCommit=true

    driver default 指定由连接池所创建的连接的只读(read-only)状态。

    如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)

    defaultReadOnly=

    driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。

    可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE

    defaultTransactionIsolation=REPEATABLE_READ

    相关文章

      网友评论

          本文标题:DBCP连接池

          本文链接:https://www.haomeiwen.com/subject/upyexqtx.html