zoukankan      html  css  js  c++  java
  • 数据库连接池

    连接池本质上是一组java架包,介于java应用程序与JDBC数据库物理链接之间,帮助应用程序管理链接。

    通过连接池预先同数据库建立一些连接放在内存中(即连接池中),应用程序需要建立数据库连接时直接到从接池中申请一个连接使用,用完后由连接池回收该连接,从而达到连接复用,减少资源消耗的目的。

     DBCP连接池:DBCP(DataBase connection pool)数据库连接池是 apache 上的一个Java连接池项目。

    需要的jar包:commons-dbcp.jar,commons-pool.jar,commons-logging.jar

    1.创建连接池对象

    2.获取数据连接

    3.释放数据连接(将连接归还连接池)

    高级配置:

    1.setInitialSize()  :预置一定数量连接,保证第一次连接速度

    2.setMaxTotall()  :连接最大值

    3.setsetMaxWaitMillis() :设置最长等待时间

    4.setMaxIdle()  :最多空闲连接数

    5.setMinIdle()  :最少空闲连接数

    6.空闲关闭

    package com.tao.DBCP.test;
    
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    import org.apache.commons.dbcp.BasicDataSource;
    
    
    public class DBCPtest {
        public final static String DRIVE_NAME="com.mysql.jdbc.Driver";
        public final static String USER_NAME="root";
        public final static String PASSWORD="admin";
        public final static String DB_URL="jdbc:mysql://localhost:3306/schoolweb?useUnicode=true&characterEncoding=utf8";
        public static BasicDataSource ds;
        
        public static void dbpoolInit(){
            ds=new BasicDataSource();
            ds.setUrl(DB_URL);
            ds.setDriverClassName(DRIVE_NAME);
            ds.setPassword(PASSWORD);
        }
    
        public void dbPollTest() {
            Connection conn = null;
            Statement stmt = null;
            ResultSet rs = null;
    
            try {
                conn = ds.getConnection();
                stmt = conn.createStatement();
                rs = stmt.executeQuery("select * from schoolweb");
                while (rs.next()) {
                    System.out.println(rs.getString("name"));
                }
            } catch (SQLException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (conn != null)
                        conn.close();
                    if (stmt != null)
                        stmt.close();
                    if (rs != null)
                        rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        public static void main(String[] args){
            dbpoolInit();
            new DBCPtest().dbPollTest();
        }
        
    }
  • 相关阅读:
    django学习笔记
    django配置setting文件
    django用mysql数据库出现的问题解决
    hadoop本地集群搭建
    生成器
    Java自动装箱的陷阱
    LeetCode 89. Gray Code
    LeetCode 476. Number Complement
    Javac编译与JIT编译
    LeetCode 462. Minimum Moves to Equal Array Elements II
  • 原文地址:https://www.cnblogs.com/handsometaoa/p/14258824.html
Copyright © 2011-2022 走看看