jar包及源码
1:编写配置文件db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/web08?useUnicode=true&characterEncoding=utf8
username=root
password=root
2:编写DBCP工具类
package cn.itheima.jdbc.utils;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DBCPUtils {
private static DataSource dataSource;
static{
try {
//1.加载找到properties文件输入流
InputStream in = DBCPUtils.class.getClassLoader().getResourceAsStream("db.properties");
//2.加载输入流
Properties prop = new Properties();
prop.load(in);
//3.创建数据源
dataSource = BasicDataSourceFactory.createDataSource(prop);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public static DataSource getDataSource(){
return dataSource;
}
public static Connection getConnection(){
try {
return dataSource.getConnection();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
3:编写测试类
package cn.itheima.jdbc.test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import org.junit.Test;
import cn.itheima.jdbc.utils.DBCPUtils;
import cn.itheima.jdbc.utils.JDBCUtils_V3;
public class TestDBCP {
@Test
public void testUpdateUserById(){
Connection conn = null;
PreparedStatement pstmt = null;
try {
conn = DBCPUtils.getConnection();
String sql = "update tbl_user set upassword=? where uid=? ";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "root");
pstmt.setInt(2, 1);
int rows = pstmt.executeUpdate();
if(rows>0){
System.out.println("更新成功!");
}else {
System.out.println("更新失败!");
}
} catch (Exception e) {
// TODO: handle exception
}finally {
JDBCUtils_V3.release(conn, pstmt, null);
}
}
}