java c3p0 配置_配置C3P0连接池

C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。目前使用它的开源项目有Hibernate,Spring等。

?

?这里不详谈 只做实现 去往官网下载c3p0 jar包:http://www.126disk.com/fileview_1619526.html

?

1、jdbc.properties 配置文件

class="java">#JDBC连接驱动

jdbc.driver=com.mysql.jdbc.Driver

#服务器连接地址

jdbc.url=jdbc:mysql://127.0.0.1:3306/data?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8

#用户名

jdbc.username=root

#密码

jdbc.password=123456

#连接池

#初始化连接

jdbc.initialPoolSize=10

# 最大连接

jdbc.maxPoolSize=20

#最小连接

jdbc.minPoolSize=5

#等待时间s

jdbc.maxIdleTime=30000

?

package com.ai.util;

import java.beans.PropertyVetoException;

import java.io.*;

import java.sql.*;

import java.util.Properties;

import org.apache.log4j.Logger;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCUtil {

private static Logger log=Logger.getLogger(JDBCUtil.class);

//使用c3p0 连接池

private static ComboPooledDataSource ds;

static {

ds=new ComboPooledDataSource();

//加载驱动

try {

ds.setDriverClass(getProperties("jdbc.driver"));

} catch (PropertyVetoException e) {

log.error("加载驱动失败",e);

e.printStackTrace();

}

//数据库连接

ds.setJdbcUrl(getProperties("jdbc.url"));

//用户

ds.setUser(getProperties("jdbc.username"));

//密码

ds.setPassword(getProperties("jdbc.password"));

//初始化开几个连接

ds.setInitialPoolSize(Integer.parseInt(getProperties("jdbc.initialPoolSize")));

//最大开几个

ds.setMaxPoolSize(Integer.parseInt(getProperties("jdbc.maxPoolSize")));

//最小开几个

ds.setMinPoolSize(Integer.parseInt(getProperties("jdbc.minPoolSize")));

//设置等待时间

ds.setMaxIdleTime(Integer.parseInt(getProperties("jdbc.maxIdleTime")));

}

public final static Connection getConnection(){

try {

return ds.getConnection();

} catch (SQLException e) {

log.error("获取连接失败",e);

e.printStackTrace();

}

return null;

}

//关闭连接

public final static void closeConntion(ResultSet re,PreparedStatement psnt,Connection conn){

if(re!=null)

try {

re.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(psnt!=null)

try {

psnt.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if(conn!=null)

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

// 读取连接数据文件

public final static String getProperties(String name){

InputStream str=Thread.currentThread().getContextClassLoader().getResourceAsStream("config/hibernet/jdbc.properties");

Properties properties=new Properties();

try {

properties.load(str);

return properties.getProperty(name);

} catch (FileNotFoundException e) {

e.printStackTrace();

log.error("读取jdbc.properties文件不存在",e);

} catch (IOException e) {

e.printStackTrace();

log.error("读取jdbc.properties文件异常",e);

}

return "";

}

public static String query(){

Connection conn=JDBCUtil.getConnection();

PreparedStatement psnt=null;

ResultSet re=null;

String sql="select * from customerinfo";

try {

psnt=conn.prepareStatement(sql);

re=psnt.executeQuery();

if(re.next()){

return re.getString("customerid");

}

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally{

closeConntion(re, psnt, conn);

}

return "";

}

public static void main(String[] args) {

System.out.println(JDBCUtil.query());

//System.out.println(getConnection());

//System.out.println(getProperties("driver"));

//System.out.println(getProperties("username"));

//System.out.println(getProperties("password"));

//System.out.println(getProperties("url"));

}

}

?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值