bboss persistent事务管理介绍 (五)

简介: l       带返回值的模板方法使用实例   Object ret = TemplateDBUtil.executeTemplate(               new JDBCValueTemplate(){                   /**        ...

l       带返回值的模板方法使用实例

 

Object ret = TemplateDBUtil.executeTemplate(

              new JDBCValueTemplate(){

                  /**

                   * 整个execute()方法的执行都会被包含在一个数据库事务中

                   * 当有异常抛出时TemplateDBUtil.executeTemplate()方法就会自动回滚整个数据库事务

                   * 当整个方法正常结束后,事务就会自动被提交,并将返回值返回给调用程序。

                   * 通过模板工具提供的便利,开发人员不需要编写自己的事务代码就可以顺利地实现数据库的事务性操作

                   */

                  public Object execute() throws Exception {

                     DBUtil dbUtil = new DBUtil();                                         PreparedDBUtil db = null;

                     try {

                         for (int i = 0; i < 1; i++) {

                            db = new PreparedDBUtil();                          

                            db.preparedInsert("insert into " +

                                   "td_reg_bank_acc_bak " +                                 "(create_acc_time,starttime,endtime) " +

                                   "values(?,?,?)");

                            Date today = new Date(

                                   new java.util.Date().getTime());

                            db.setDate(1, new java.util.Date());

                            db.setDate(2, new java.util.Date());

                            db.setDate(3, new java.util.Date());

                            db.executePrepared();

                         }

                     }

                     catch(Exception e)

                     {

                         throw e;//抛出异常,将导致整个数据库事务回滚

                     }

                     try

                     {

                         dbUtil.executeInsert("insert into " +

                                "td_reg_bank_acc_bak " +

                                "(clob1,clob2) values('aa','bb')");

                     }

                     catch(Exception e)

                     {

                         throw e;//抛出异常,将导致整个数据库事务回滚

                     }                    

                     //方法顺利执行完成,事务自动提交,并返回方法的返回值

                     return "go";

                  }            

              }

           );

目录
相关文章
SpringBoot中Transaction注解不起作用原因
SpringBoot中Transaction注解不起作用原因
134 0
|
Java 数据库连接 数据库
Hibernate中@Embedded和@Embeddable注解
在使用实体类生成对应的数据库表时,很多的时候都会遇到这种情况:在一个实体类中引用另外的实体类,一般遇上这种情况,我们使用@OneToOne、@OneToMany、@ManyToOne、@ManyToMany这4个注解比较多,但是好奇害死猫,除了这四个有没有别的使用情况,尤其是一个实体类要在多个不同的实体类中进行使用,而本身又不需要独立生成一个数据库表,这就是需要@Embedded、@Embeddable的时候了,下面分成4类来说明在一个实体类中引用另外的实体类的情况,具体的数据库环境是MySQL 5.7。
1492 0
bboss持久层事务管理组件TransactionManager增加两个release方法
bboss持久层事务管理组件TransactionManager增加release和releasenolog两个方法,可以在finally块中调用它们来释放事务资源,使得bboss持久层框架的编程事务管理变得更加优雅、更加轻松。
732 0
|
数据库 数据格式 XML
bboss多数据库事务管理
本文以一个简单的实例来介绍bbossgroups中持久层框架如何实现多数据库事务: @Test public void testMutiDBTX() { TransactionManager tm = new TransactionManager(); try { tm.
627 0
|
人工智能 测试技术 数据格式
bboss-persistent结合bboss-aop实现注解事务
bboss-persistent结合bboss-aop也可以实现注解事务哦. 先看一个业务组件: package org.frameworkset.spi.transaction.annotation; import java.
629 0
|
SQL 数据库 Java
bboss persistent 实现数据库更新操作
4.5 更新操作代码段    4.5.1预编译更新操作        PreparedDBUtil preDBUtil = new PreparedDBUtil();        int pk = 0;        String sqlstr = "update OFFICE_...
589 0
|
SQL 关系型数据库 MySQL
关于bboss persistent主键生成机制的说明
4.14 主键的生成 bboss主键生成有两种模式,一种模式是在对象主键属性上加@PrimaryKey(uuid主键)或者@PrimaryKey(auto=true,pkname="xxxx")(pkname对应tableinfo中的TABLE_NAME子字段的值),另外一种模式就是通过DBUtil.getNextPrimaryKey方法再程序中获取(前提是表的主键信息需要配置到tableinfo中,可以支持uuid和oracle的sequence,以及mysql的自定义sequence)。
1044 0
bboss persistent事务管理介绍 (九)
      事务控制规则 根据实际情况事务控制规则划分为: 1.         不带参数方法   说明:指定需要控制事务的方法为testTXInvoke,这里没有声明事务类型,默认的事务类型为REQUIRED_TRANSACTION      在这种规则下一旦方法执行时向外抛出异常,则会导致事务回滚,如果方法正常结束则事务提交。
748 0
|
数据库
bboss persistent事务管理介绍 (四)
l       不带返回值的模板方法使用实例   TemplateDBUtil.executeTemplate(               new JDBCTemplate(){                   /**                    * 整个e...
649 0