zoukankan      html  css  js  c++  java
  • spring-获取连接的工具类

     1 package learnFromBilibili.util;
     2 
     3 import javax.sql.DataSource;
     4 import java.sql.Connection;
     5 import java.sql.SQLException;
     6 
     7 /**
     8  * 连接的工具类,用于从数据源中获取一个连接,并且实现和线程的绑定
     9  * @author tony fan
    10  */
    11 public class ConnectionUtils {
    12 
    13     private ThreadLocal<Connection> threadLocal = new ThreadLocal<>();
    14 
    15     private DataSource dataSource;
    16 
    17     public void setDataSource(DataSource dataSource) {
    18         this.dataSource = dataSource;
    19     }
    20 
    21     /**
    22      * 获取当前线程上的连接
    23      */
    24     public Connection getThreadConnection(){
    25         try {
    26             // 1、先从ThreadLocal上获取
    27             Connection conn = threadLocal.get();
    28             // 2、判断当前线程上是否有连接
    29             if(conn == null){
    30                 // 3、从数据源中获取一个连接,并且存入ThreadLocal中
    31                 conn = dataSource.getConnection();
    32                 threadLocal.set(conn);
    33             }
    34             // 4、返回当前线程上的连接
    35             return conn;
    36         } catch (SQLException e) {
    37             throw new RuntimeException();
    38         }
    39     }
    40 
    41     /**
    42      * 把连接和线程解绑
    43      */
    44     public void removeConnection(){
    45         threadLocal.remove();
    46     }
    47     
    48 }
  • 相关阅读:
    webstorm创建和搭建vue项目
    win10企业版激活方法
    Jquery使用规范(一)
    Json序列化循环引用的问题
    后台调用存储过程
    将金额人民币转化为大写 C#
    谷歌分辨率扩展程序的添加
    MVC 删除文件
    MVC C# 调用存储过程
    XML 转换 lits<>
  • 原文地址:https://www.cnblogs.com/fxw-learning/p/13618543.html
Copyright © 2011-2022 走看看