在使用JDBC整合数据库连接操作时,如果需要用到事务,在去关闭Connection conn的时候
注意在关闭前 注意:最好这么做一下 避免下次别人用的时候也自动开启事务,但是自己测试C3P0时候,连接池会自动将状态更新,也就是说,即使关闭前不设置为true,默认连接池也会将状态更新,
这里意思就是最好这么干一下,万一呢 主要讲个思想,大多数连接池应该都做好了这一点,应该改是不需要的

将conn.setAutoCommit(true);因为此时并非真正关闭,而是将连接放回连接池.
原因在你已经开启事务,如果下次有人需要重用你这个连接,本身事务还是开启的
都是maven项目
不是边写边记录,全部写完了自己做个笔记
1.JDBC整合C3P0连接池
依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
方式1

方式2 配置文件的方式


获取连接的工具类

这里无需担心并发




2.JDBC整合DBCP连接池
依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--DBCP需要引入两个jar包-->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.5.5</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
方式1

方式2 配置文件方式


获取连接工具类

3.JDBC整合Druid连接池
依赖
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
方式1

方式2 配置文件方式

我这里就直接封装了





















![[PyTorch]即插即用的热力图生成](https://img-blog.csdnimg.cn/35ef71fe612245bfb21c75164ca0480d.png)