日期:2011-01-26 02:54:00 来源:本站整理
<b>Spring JDBC事件 传达特点</b>[Java编程]
本文“<b>Spring JDBC事件 传达特点</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Spring 和 JDBC 整合开辟:(2)
通过JDBC模板类 处理 非常
处理 事件的传达特点
处理事件的断绝性
@Transactional(noRollbackFor=RuntimeException.class) public void save(User user) throws Exception{ // TODO Auto-generated method stub this.template.update("insert into user values(?,?)", new Object[]{new Integer(user.getId()),user.getName()}, new int[]{java.sql.Types.INTEGER,java.sql.Types.VARCHAR}); System.out.println("插入成功...."); throw new RuntimeException(); } |
我们拟定了参数:noRollbackFor 所以 即便 碰到了运行期非常(nocheck非常)的时刻 仍旧不会回滚
Spring默许的是 只是 运行期非常才会回滚但是 我们这里可以认为的指定哪些类 需求回滚事件
@Transactional(rollbackFor=Exception.class) public void save(User user) throws Exception{ // TODO Auto-generated method stub this.template.update("insert into user values(?,?)", new Object[]{new Integer(user.getId()),user.getName()}, new int[]{java.sql.Types.INTEGER,java.sql.Types.VARCHAR}); System.out.println("插入成功...."); throw new Exception(); } |
此时 我们指定Exception非常要回滚 所以 履行后果是事件回滚了
下面是 事件传达特点的 第一个例子:Required nerver给出代码:
@Transactional(propagation=Propagation. // System. userdao_1.save( } |
代码二:
@Transactional(propagation=Propagation. // System. } |
代码一 需求事件 当履行到dao层是 检测到没有事件 所以 就 给分配了事件:但是 嵌套了一个办法,代码二中的办法不需求事件PROPAGATION.NEVER但是 它运行在了事件环境中 所以 抛出非常
因为 代码二:运行在代码一的事件环境中,呈现了非常(此非常是RuntimeExcpetion的一个子类) 所以 全部回滚 一条数据 都没有插入进;
强迫:代码一:
@Transactional(propagation=Propagation. // System. userdao_1.save( } |
代码二:
@Transactional(propagation=Propagation. // System. } |
运行后果抛出非常:但是 代码一不需求事件 运行完SQL 就对数据库 改正了,但是代码二需求事件 但是运行在没有事件的环境下所以跑出了非常
支持:
@Test BeanFactory bf = UserDAO dao =(UserDAO) bf.getBean("userdao"); User user = user.setId(11); user.setName("刘强"); dao.save(user); } |
代码一:
@Transactional(propagation=Propagation. // System. userdao_1.save( } |
代码二:
@Transactional(propagation=Propagation. // System. } |
以上是“<b>Spring JDBC事件 传达特点</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论