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却是被普遍使用。


  • 相关阅读:
    Linux常用指令
    【OOM】记录一次生产上的OutOfMemory解决过程
    (转载)springboot + rabbitmq发送邮件(保证消息100%投递成功并被消费)
    【Idea】实用插件列表
    【工厂模式】-企业微信应用配置代码优化
    【日志追踪】(微服务应用和单体应用)-logback中的MDC机制
    行内元素进行绝对(absolute),固定(fixed)定位后会变成块级元素·
    JQuery
    单行文字居中
    后代元素 span:first-child{...}
  • 原文地址:https://www.cnblogs.com/lee0oo0/p/2404250.html
Copyright © 2011-2022 走看看