Java 封装数据库连接池

调用 方法
String sql = “update anz set date=? where sid=?”;
PreparedStatement pst = jdbc.getConnection1().prepareStatement(sql);
Date ad = new Date();
SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String str=df.format(ad);
java.util.Date hire = df.parse(str);
java.sql.Date hr1 = new java.sql.Date(hire.getTime());
System.out.println(hr1);
pst.setDate(1,hr1);
pst.setInt(2,a);
int i = pst.executeUpdate();
数据库配置

C3P0配置

<c3p0-config>
  <!-- 使用默认的配置读取连接池对象 -->
  <default-config>
  	<!--  连接参数 -->
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/xiaofan</property>
    <property name="user">root</property>
    <property name="password">123456</property>
    
    <!-- 连接池参数 -->
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">10</property>
    <property name="checkoutTimeout">3000</property>

  </default-config>

  <named-config name="otherc3p0"> 
    <!--  连接参数 -->
    <property name="driverClass">com.mysql.jdbc.Driver</property>
    <property name="jdbcUrl">jdbc:mysql://localhost:3306/day25</property>
    <property name="user">root</property>
    <property name="password">root</property>
    
    <!-- 连接池参数 -->
    <property name="initialPoolSize">5</property>
    <property name="maxPoolSize">8</property>
    <property name="checkoutTimeout">1000</property>
  </named-config>
</c3p0-config>

阿里

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/xiaofan
username=root
password=123456


initialSize=5
maxActive=10
maxWait=3000

创建 连接池

package cn.shichuang.dao;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

/*
   公共代码的类
       方法:创建连接对象
       方法:释放资源
 */
public class jdbc {
    private static Connection con=null;
    private static DataSource ds=null;//管理连接池的接口对象
    //创建连接对象conncetion

    //静态代码块 , 类执行的时候只执行1次
    // 创建连接对象采用阿里的 druid连接池的方法
    /*
       使用druid步骤:
       1、导包  druid 1.0.9
       2、读取自己的配置文件,
          使用properties来读取配置文件
       3、创建连接池 --- 采用的是DruidDataSourceFactory 模式
     */
    public  static Connection getConnection1() throws Exception{
        Properties p1=new Properties();
        p1.load(jdbcDemo04.class.getClassLoader()
                .getResourceAsStream("druid.properties"));
        ds = DruidDataSourceFactory.createDataSource(p1); //通过工厂来创建连接池

        con =  ds.getConnection();

        return con;
    }
    /*
      使用c3p0步骤:
      1、导包
      2、读取自己的配置文件 c3p0-config.xml
    */
    public  static Connection getConnection2() throws Exception{
        ds =new ComboPooledDataSource();//调用的是默认的连接数据库的信息
        //ds =new ComboPooledDataSource("otherc3p0");//调用的是标签名字叫做otherc3p0数据库的信息
        con =  ds.getConnection();

        return con;
    }
    // 释放资源
    public static void close(ResultSet rs, Statement st,Connection con){
        if(rs!=null){
            try {
                rs.close();
            }catch(Exception ex){

            }


        }
        if(st!=null){
            try {
                st.close();
            }catch(Exception ex){

            }


        }if(con!=null){
            try {
                con.close();
            }catch(Exception ex){

            }


        }

    }
}

请添加图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值