spring 1.1.3 JDBC编程式事务管理探析(二):如何实现TransactionTemplate.execute的回调接口TransactionCal...

 一、TransactionCallback接口

Object doInTransaction(TransactionStatus status)

TransactionTemplate已经搭好了事务框架,我们只需将多条SQL语句放在doInTransaction中执行就可以了。但是SQL语句通过什么方法来执行呢?

二、方法一:获取Connection来执行

获取Connection又有两种方法

1.从TransactionStatus中索得,因为TransactionStatus含有Transaction对象,后者保存了Connection的句柄

[Java] view plain copy
  1. private   static  Connection getConnection(TransactionStatus ts) {  
  2.   JdbcTransactionObjectSupport transObj = (JdbcTransactionObjectSupport)((DefaultTransactionStatus)ts).getTransaction();  
  3.   ConnectionHolder holder = transObj.getConnectionHolder();  
  4.   Connection con = holder.getConnection();  
  5.   return  con;  
  6. }  

2.从TransactionSynchronizationManager的线程变量中获取

[Java] view plain copy
  1. private  Connection getConnection() {  
  2.   DataSourceTransactionManager manager = (DataSourceTransactionManager)transactionTemplate.getTransactionManager();  
  3.   DataSource ds = manager.getDataSource();  
  4.   return  DataSourceUtils.getConnection(ds); //   
  5. }  
这里贴出DataSourceUtils.getConnection(ds)的部分代码:
[Java]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该错误是说找不到jai_core-1.1.3.jar文件(javax.media:jai_core:1.1.3)。在查找过程中遇到了问题。 这个错误通常发生在Java项目中使用某个库或依赖项时,由于没有找到相关的Jar文件而引起的。在这种情况下,我们可以尝试以下几点来解决问题: 1. 检查依赖项配置:首先,我们需要确认项目的依赖项配置是否正确。在某些情况下,可能是由于版本号或名称的错误导致无法找到文件。可以检查项目的构建文件(如pom.xml)或依赖项管理工具(如Gradle)来确认依赖项配置是否正确。 2. 下载并添加Jar文件:如果确信依赖项配置正确,但仍然找不到相关的Jar文件,我们可以尝试手动下载并添加该文件。搜索并下载jai_core-1.1.3.jar文件,并将其添加到项目的依赖项目录中(如libs文件夹)。 3. 调整仓库配置:如果上述方法仍然不起作用,可能是由于项目的仓库配置出现了问题。可以检查项目的仓库配置文件,确认是否正确配置了相关的仓库地址和访问权限。 4. 联系开发者或社区:如果以上方法仍然无法解决问题,可以尝试联系库的开发者或相关社区,寻求他们的帮助和支持。他们可能会为你提供进一步的指导或解决方案。 总结:在解决这个问题时,我们需要确认项目的依赖项配置是否正确,尝试手动添加缺失的Jar文件,检查仓库配置,以及寻求相关开发者或社区的帮助。通过这些方法,我们有望解决无法找到jai_core-1.1.3.jar文件的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值