zoukankan      html  css  js  c++  java
  • 数据库的基本连接方法与连接池

        1、 因为在一般程况下数据库的都是一个实例访问既可以,因此这个时候可以把类设计成单例模式,例:

        public class DBUtil {

          //设计构造函数为私有,不能被其他类创建实例,同时也不能被继承

          private DBUtil(){}

          private static DBUtil instance = null;

          //提供一个外部创建的方法

          public synchronized static DBUtil getDBUtilInstance(){

            if(instance == null){

              instance = new DBUtil();

            }

          return instance;

          }

        }  

        2、 加载数据库驱动,填入数据库驱动名字

        Class.forName(""); 或者 DriverManager.registerDriver(new 一个驱动的名字);

        3、 获得Connection对象

        DriverManager.getConnection(URL , username , password);

    数据库连接池:主要有两种,一是DBCP另一个是C3P0

        DBCP: 需要导入两个jar包, commons-dbcp-1.2.2.jar 和 commons-pool.jar

        1. 需要两个成员变量 BasicDataSource 和 DataSourceConnectionFactory

        2. 创建BasicDataSource 对象,调用setUrl() setDriverClassName() setUsername() setPassword()方法设置jdbc相关信息

        3. 可以选择设置连接池配置,调用函数 setInitialSize(20) ---设置初始连接数  setMaxActive(100) ---最大的获取连接数 setMinIdle(10) ---最小可用的空闲连接数 setMaxIdle() ---最大可用空闲连接数

        4. 创建DataSourceConnectionFactory对象,并传入BasicDataSource 对象作为参数

        5. 通过DataSourceConnectionFactory对象调用createConnection方法返回Connection

        C3P0: 需要导入c3p0-0.9.1.jar包

        1. 需要一个成员变量ComboPooledDataSource

        2. 创建ComboPooledDataSource对象,调用setJdbcUrl() setUser() setPassword()方法设置jdbc相关信息

        3. 设置连接池,调用setInitialPoolSize(30) setMaxPoolSize(100) setMinPoolSize(10)

        4. 调用getConnection方法返回Connection对象

    *** DBCP的效率较高,但是C3P0却比较稳定。因此,C3P0却是被普遍使用。


  • 相关阅读:
    Flask 应用上下文
    request 的介绍使用属性
    Session 常见操作
    cookie 常用操作
    Python三大web框架简单介绍
    Flask 入门
    类与类之间的关系
    request、response 中文乱码问题与解决方式
    JAVA笔记
    MySQL导入大sql 文件大小限制问题的解决
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2404250.html
Copyright © 2011-2022 走看看