mysql数据库连接util

来源:互联网 发布:苹果手机健身软件 编辑:程序博客网 时间:2024/06/15 06:15
package util;


import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


import com.mchange.v2.c3p0.ComboPooledDataSource;


public class DBUtil {
// 连接池对象
static ComboPooledDataSource cpds = new ComboPooledDataSource();
// 给连接池对象赋属性
static{
// 加载驱动
try {
cpds.setDriverClass("com.mysql.jdbc.Driver");
} catch (PropertyVetoException e) {
e.printStackTrace();
}
// 连接数据库
cpds.setJdbcUrl("jdbc:mysql://localhost:3306/studentmanagesys?useUnicode=true&characterEncoding=UTF8");
cpds.setUser("root");
cpds.setPassword("000000");

// 设置初始连接
cpds.setInitialPoolSize(5);
// 设置最大连接
cpds.setMaxPoolSize(15);
// 设置最小连接
cpds.setMinPoolSize(5);
}

public static Connection getConnection(){
Connection conn = null;
try {
conn = cpds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}

public static void close(Connection coon,Statement st,ResultSet rs){
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(coon!=null){
try {
// 是真的断开连接吗?
// 是把连接还给连接池
coon.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

//5.重载无ResultSet的关闭方法
public static void close(Connection coon,Statement st){
close(coon, st, null);
}
}