JDBCUtil工具类回顾
来源:互联网 发布:扭矩补偿算法 编辑:程序博客网 时间:2024/06/05 11:06
package util;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Properties;import exception.DataAccessException;public class JdbcUtil {private static Properties config;private static ThreadLocal<Connection> threadLocal;static{try {threadLocal=new ThreadLocal<Connection>();config=new Properties();config.load(JdbcUtil.class.getClassLoader().getResourceAsStream("jdbc.properties"));Class.forName(config.getProperty("driver"));} catch (Exception e) {e.printStackTrace();throw new ExceptionInInitializerError("JdbcUtil初始化错误");} }//保证一个事务一个连接,一个事务一个业务,一个事务一次操作,一个线程一个事务//每个线程获得一个连接public static Connection getConnection(){Connection con=threadLocal.get();if(con==null){try {con=DriverManager.getConnection(config.getProperty("url"),config.getProperty("username"),config.getProperty("password"));threadLocal.set(con);} catch (Exception e) {e.printStackTrace();throw new DataAccessException("数据访问失败",e);}}return con;}public static void close(Connection con,PreparedStatement ps,ResultSet rs){if(rs!=null){try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if(ps!=null){try {ps.close();} catch (SQLException e) {e.printStackTrace();}}if(con!=null){try {con.close();} catch (SQLException e) {e.printStackTrace();}}}//关闭跟本线程相关的连接public static void close(){Connection con=threadLocal.get();if(con!=null){try {con.close();} catch (SQLException e) {e.printStackTrace();}threadLocal.remove();}}}
0 0
- JDBCUtil工具类回顾
- JDBCUtil工具类
- DBUtil工具类JdbcUtil
- JDBCUtil工具类(三)
- JdbcUtil:JDBC工具类
- Java-JDBCUtil工具类
- 开发JDBCutil工具类
- 分页工具类JdbcUtil
- jdbcUtil封装的工具类
- JDBCUtil.java数据库连接池工具类
- java(280)手写sorm之jdbcUtil工具类的实现
- 类路径和jdbcUtil
- JdbcUtil
- JDBCUtil
- JdbcUtil
- JdbcUtil
- JDBCUtil
- jdbcutil
- 【Java基础】:线程的生命周期
- Java中线程通信的方法
- JAVA多线程打印ABC
- Nginx搭建
- 23种设计模式全解析
- JDBCUtil工具类回顾
- 分布式事务解决方案(三)
- PHP高级特性(Senior features of php)之异常处理
- AbstractRoutingDataSource实现切库和读写分离
- CSS中清除浮动的几种方式
- phpmyadmin 两个错误提示
- 分布式事务解决方案(二)
- Spark性能优化第一季
- Ubuntu 安装sogou输入法