一、基础了解

首先观察目录

有一个输出语句

主类,有主页、业务类和xml文件就可以是最基础的项目


最后得到预期结果

二、编程式事务管理
导入代码的时候发现在上一节导入过了,观察了下代码大体框架真的就是一样的,后续再发现不对再进行补充
三、声明式事务管理
首先还是看目录

没有教程,我就习惯性从xml开始观察了
第一部分还是熟悉地连接数据库

第二部分的事务管理器

上图就是新内容第三部分
TransactionProxy:事务代理
暂且不管看不懂的第三个框
第一个框将地址跳转到了事务管理
想弄懂第二个框,先看提到的AddDAO文件

这里首先补充一下,设计a=0是为了先行制造异常事务判断是否运行成功
addUser方法中的user类中定义了变量以及封装方法

getJdbcTemplate我观察了所有文件也没发现对这个类的定义,回想之前的内容它是作为模板存在的;也没看到继承的父类JdbcDaoSupport在哪里,也许是优化了在导入包中?暂且不管,看他后面接的内容只用知道它是执行sql语句就可以了
那么xml文件中的意思就是指导AddDAO文件去找数据源执行sql语句
至于第四个框,参考提示,意思是让代理对象中只要以add开头的方法名必须运行在事务中
这个以add开头我猜测指的是id名,那也就是addDAO方法
还差最后一个文件

通过main关键词以及包名的提示知道这个是要运行的主函数
主要内容就是添加相关数值
做到这里我还存在疑问,我好像没看到是向哪张数据表中添加数据?

观察结果,是正常导入的,我还是不清楚原因,是因为只有这一张表吗?还是因为类user刚好和表名部分同名了?
对比编程式事务管理,我更喜欢编程式事务管理次次执行都有回响的感觉,会有提示是正常执行还是失败了

在注释之后,无法正常执行了,也就是说事务中执行方法还要靠这一串语句,而不单单只是起到筛选的作用
用时:两小时
文章详细介绍了Java中的事务管理,包括基础的项目结构,编程式事务管理的实现,以及声明式事务管理中的TransactionProxy。在声明式事务中,通过xml配置指导DAO层执行数据库操作,并确保特定方法(以add开头)在事务中运行。尽管作者更倾向于编程式事务的明确反馈,但声明式事务展示了其简化代码的优势。在理解过程中,作者发现了对数据表的引用不明确的问题。
1827

被折叠的 条评论
为什么被折叠?



