java.lang.NullPointerException
at com.shiyaxin.utils.TransactionManager.release(TransactionManager.java:56)
at com.shiyaxin.service.impl.AccountServiceImpl.findAllAccount(AccountServiceImpl.java:51)
at com.shiyaxin.test.AccountTest.testFindAll(AccountTest.java:51)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
我3分钟找到错
/**
* 获取当前线程上的连接
* @return
*/
public Connection getTheadConnection() {
//1。先从ThreadLocal上获取
Connection conn = tl.get();
//2.判断当前线程上是否有连接
try {
if (conn != null) { **!=null再获取连接开玩笑,连接被占着进不来**
//3.从数据源中获取一个连接,并且存入ThreadLocal中
conn = dataSource.getConnection();
tl.set(conn);
//4.返回当前线程上的连接
}
return conn;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
错误点: if (conn != null) {
!=null再获取连接开玩笑,连接被占着进不来
改成正确的:if (conn== null) {
连接等于空,就可以注入连接了
此错仅仅供参考