• 数据库连接池


    连接池本质上是一组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();
        }
        
    }
  • 相关阅读:
    Android设计中的.9.png图片
    Socket原理
    word2vec中文类似词计算和聚类的使用说明及c语言源代码
    Scala之集合Collection
    使用C语言调用mysql数据库编程实战以及技巧
    Web学习篇之---html基础知识(一)
    μCOS-II系统之事件(event)的使用规则及Semaphore实例
    activiti自己定义流程之Spring整合activiti-modeler实例(一):环境搭建
    将ASP.NET用户控件转化为自定义控件
    【C#】Excel导出合并行和列并动态加载行与列
  • 原文地址:https://www.cnblogs.com/handsometaoa/p/14258824.html
Copyright © 2020-2023  润新知