1. 准备开发环境
1.1准备数据库jar包,布置到项目根目录下:新建lib文件夹,将jar包cv进去,然后右键build path导入项目。
1.2 准备数据库配置文件jdbc.properties
1.3 准备工具类JDBCUtil,工具类实现数据库的连接和关闭资源
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 JDBCUtil {
private static Properties prop = new Properties();
static{
InputStream in = null;
try{
in = JDBCUtil.class.getResourceAsStream("/jdbc.properties");
prop.load(in);
//1.加载驱动
Class.forName(prop.getProperty("jdbc.driverClassName"));
}catch(Exception e){
e.printStackTrace();
}
}
private static ThreadLocal<Connection> tol = new ThreadLocal<Connection>();
// 创建连接,并返回
public static Connection getConn() {
// 2.先到当前线程获取,如果没有说明是第一次调用工具类,那么创建一个新的,同时存入当前线程
Connection conn = tol.get();
try {
if(conn == null){
conn = DriverManager.getConnection(prop.getProperty("jdbc.url"),
prop.getProperty("jdbc.username"),
prop.getProperty("jdbc.password"));
// 将创建的conn存入到当前线程中
tol.set(conn);
}
return conn;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("获取连接失败!·");
}
}
// 释放资源
public static void close(ResultSet rs, Statement stm, Connection conn) {
try {
if (rs != null) {
rs.close();
}
if (stm != null) {
stm.close();
}
if (conn != null) {
conn.close();
// 从当前线程移除关闭的连接
tol.remove();
}
} catch (Exception e) {
e.printStackTrace();
}
}