jdbc封装工具类(连接池)
c3p0配置文件:
c3p0-config.xml
<c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <property name="driverClass">com.mysql.jdbc.Driver</property> <property name="jdbcUrl">jdbc:mysql://localhost:3306/test</property> <property name="user">root</property> <property name="password">root</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>
工具类:
package com.huang;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DbUtils {
private static DataSource dataSource = new ComboPooledDataSource();// 可以加参数,更改连接池配置
public Connection conn = null;
public PreparedStatement ps = null;
public ResultSet rs = null;
public Connection getconn() {
try {
return dataSource.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public int update(String sql, Object[] obj) {
conn = getconn();
if(conn == null) {
return 0;
}
try {
ps = conn.prepareStatement(sql);
if(obj!=null && obj.length>0) {
for (int i = 0; i < obj.length; i++) {
ps.setObject(i+1, obj[i]);
}
}
return ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
public void close() {
if(rs!=null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps!=null) {
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn!=null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws Exception {
DbUtils dbUtil = new DbUtils();
int update = dbUtil.update("update user_info set username = ? where id = ?", new Object[] {"qq","1"});
System.out.println(update);
dbUtil.close();
}
}
浙公网安备 33010602011771号