java - DataSourceUtils.getConnection 与 DataSource.getConnection 对比

标签 java spring

我在 spring 上下文中初始化了数据源 bean。请问应该用什么方式?为什么我就是不能写 dataSource.getConnection()?

最佳答案

有一个重要区别:dataSource.getConnection() 总是返回从数据源或连接池中获取的新连接。 DataSourceUtils.getConnection() 检查当前线程是否有 Activity 事务。如果有,它将返回与此事务的连接。如果没有,它将以与 dataSource.getConnection() 完全相同的方式运行。

使用 DataSourceUtils.getConnection() 时需要小心。如果它返回 Activity 事务的连接,则意味着其他人将关闭它,因为这是打开事务的人的责任。另一方面,如果它从数据源返回一个全新的连接,那么您应该提交/回滚/关闭它。

关于java - DataSourceUtils.getConnection 与 DataSource.getConnection 对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642643/

相关文章:

Java:如何使用TF-IDF计算两个文档的相似度?

java - 如何将 jtextfield 值添加到构造函数和数组列表?

java - 在MVC中,model是干什么的,和SwingWorker有什么关系?

Spring MVC : Making multi user friendly

MySQL从一张表计算百分比

java - 控制字符的持续时间

java - 返回后用结果进行单元测试断言;

java - 不允许 Spring Data REST PUT 方法

java - 有什么东西可以在 java 中启动 cron 吗?

spring - 仅在没有其他服务的情况下为接口(interface)加载服务