zoukankan      html  css  js  c++  java
  • ConnectionUtils

    /**
    * @date 2019/7/8 9:35
    * 管理连接的工具类 用于实现连接和线程的绑定
    * 保证当前线程获得的 Connection 是同一个
    */
    @Component
    public class ConnectionUtils {
    private ThreadLocal<Connection> tl=new ThreadLocal<Connection>();
    @Autowired
    private DataSource dataSource;


    public void setDataSource(DataSource dataSource){
    this.dataSource = dataSource;
    }
    // 获得当前线程绑定的连接
    public Connection getThreadConnction(){
    try {
    // 1 看线程是否绑了连接
    Connection conn = tl.get();
    if(conn==null) {
    // 2从数据源获取一个连接
    conn= dataSource.getConnection();
    //3 和线程局部变量 绑定
    tl.set(conn);
    }
    // 4 返回线程连接
    return tl.get();
    } catch (SQLException e) {
    throw new RuntimeException(e);
    }
    }
    // 把连接和当前线程进行解绑
    public void remove(){
    tl.remove();
    }
    }
  • 相关阅读:
    第五周笔记
    第四周笔记——复制文件(可读时间)
    第三周笔记
    java第6次作业
    java第五次作业
    java第四次作业
    java第三次作业
    第一周Java笔记
    计划进度表
    第六次作业
  • 原文地址:https://www.cnblogs.com/dragonyl/p/11153270.html
Copyright © 2011-2022 走看看