bboss持久层事务管理组件TransactionManager增加两个release方法

简介: bboss持久层事务管理组件TransactionManager增加release和releasenolog两个方法,可以在finally块中调用它们来释放事务资源,使得bboss持久层框架的编程事务管理变得更加优雅、更加轻松。
bboss持久层事务管理组件TransactionManager增加release和releasenolog两个方法,可以在finally块中调用它们来释放事务资源,使得bboss持久层框架的编程事务管理变得更加优雅、更加轻松。本文详细介绍之。

最新代码请参考文档获取:
bbossgroups 项目下载地址

1.方法声明
组件类
com.frameworkset.orm.transaction.TransactionManager
新加方法声明
/**
	 * 在final方法中调用,用来在出现异常时对事务资源进行回收,首先对事务进行回滚,
	 * 然后回收资源(不输出日志),如果事务已经提交和回滚,则不做任何操作
	 */
	public void releasenolog()
	/**
	 * 在final方法中调用,用来在出现异常时对事务资源进行回收,首先对事务进行回滚,
	 * 然后回收资源,并将回事日志输出到日志文件中,如果事务已经提交和回滚,则不做任何操

作
	 */
	public void release()


2.这两个方法的示例
public void testTX11() throws Exception
	{
		TransactionManager tm = new TransactionManager();
        try {
            tm.begin();
            
            //进行一系列db操作            
            //必须调用commit            
            tm.commit();
        }
        catch (Exception e) {            
            throw e;            
        } 
        finally
        {
        	tm.release();
        }
	}
	public void testTX() throws Exception
	{
		TransactionManager tm = new TransactionManager();
        try {
            tm.begin(TransactionManager.RW_TRANSACTION);
            
            //进行一系列db操作 
            tm.commit();
        }
        catch (Exception e) {
            
            throw e;
            
        } 
        finally
        {
        	tm.releasenolog();
        }
	}


注意
对于RW_TRANSACTION事务在finally块中调用了releasenolog方法后就可以不调用commit方法,finally块中调用的releasenolog方法会自动释放事务,但是调用commit也不会对事务造成影响,记住release方法是必须调用commit方法的,这个就是RW_TRANSACTION事务和其他事务类型的最大区别之一。
目录
相关文章
|
6月前
|
设计模式 Java 机器人
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
SpringBoot3自动配置流程 SPI机制 核心注解 自定义starter
|
5月前
|
缓存 Java 数据库连接
spring中注解驱动事务框架的源码
spring中注解驱动事务框架的源码
|
6月前
|
XML Java 关系型数据库
注解驱动事务:Spring中基于注解的事务属性配置详解
注解驱动事务:Spring中基于注解的事务属性配置详解
113 0
注解驱动事务:Spring中基于注解的事务属性配置详解
|
存储 运维 Java
SpringBoot使用在控制层切面注解配置的方式将日志存储在mysql
🍅程序员小王的博客:程序员小王的博客 🍅CSDN地址:程序员小王java 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
395 0
SpringBoot使用在控制层切面注解配置的方式将日志存储在mysql
|
Java 数据库 Spring
|
存储 缓存 NoSQL
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(上)
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(上)
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(上)
|
存储 缓存 Java
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(中)
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(中)
聊聊Spring Cache的缓存抽象与JSR107缓存抽象JCache,并使用API方式使用Spring Cache【享学Spring】(中)
|
SQL Java 数据库连接
使用spring-jpa和 hibernate的@SQLDelete和@Where注解实现逻辑删除
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34173549/article/details/81564797 在项目开发中,数据库的删除一般都是逻辑删除,可以很好的保持数据的完整性,但是很多时候我们写SQL的是时候查询的时候不得不加上SQL后面加上where delete_flag=xxx,这样,导致这样我们工作量繁琐,特别是hibernate 中通过ID查询的时候,很是恼火。
3620 0
|
Java Spring
Spring框架碰壁日常更新
关于Spring环境搭建遇到的问题:
813 0