1.首先先导入druid的jar包
2.写一个tools代码如下
public class JDBCTools { static DataSource dataSource; private static ThreadLocal<Connection> tl=new ThreadLocal<>(); static { try { // 1. 读取配置文件 Properties properties = new Properties(); InputStream asStream = Thread.currentThread() .getContextClassLoader().getResourceAsStream("druid.properties"); properties.load(asStream); // 2. 创建连接池 dataSource = DruidDataSourceFactory.createDataSource(properties); } catch (Exception e) { e.printStackTrace(); } } // 定义一个获取连接的静态方法 public static Connection getConnection(){ try { // 1. 从ThreadLocal中获取连接 Connection connection=tl.get(); // 2. 连接对象没有 if (connection==null){ // 3. 绑定一个连接对象到ThreadLocal tl.set(dataSource.getConnection()); // 4. 从ThreadLocal中获取连接 connection=tl.get(); } return connection; } catch (SQLException e) { throw new RuntimeException(e); } } // 定义回收连接的方法 public static void release(){ Connection connection = tl.get(); tl.remove(); // 2. 放回池子中 if(connection!=null){ try { connection.close(); } catch (SQLException throwables) { throwables.printStackTrace(); } } } }
3.写测试方法
创建toolsDemo类
代码如下
public static void main(String[] args) { insert(); // delete(); } private static void delete() { Connection connection=null; try { connection= JDBCTools.getConnection(); String sql="delete from user01 where uid=2"; Statement statement=connection.createStatement(); int row = statement.executeUpdate(sql); System.out.println(row>0?"成功":"失败"); } catch (SQLException e) { e.printStackTrace(); }finally { JDBCTools.release(); } } private static void insert() { Connection connection=null; try { connection= JDBCTools.getConnection(); String sql="insert into user01(name, pwd, money) values('admin', '123456', 10000)"; Statement statement=connection.createStatement(); int row = statement.executeUpdate(sql); System.out.println(row>0?"成功":"失败"); } catch (SQLException e) { e.printStackTrace(); } finally { if (connection!=null){ try { connection.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }