小菜毛毛技術(shù)分享

          與大家共同成長(zhǎng)

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
          先復(fù)習(xí)一下事務(wù)的特點(diǎn):ACID

          Atomicity: 原子性
          Consistency: 一致性
          Isolation: 隔離性
          Durability: 耐久性

          iBatis中的事務(wù)分為:
          Automatic Transaction
          Local Transaction
          Global Transaction
          Custom Transaction

          Automatic Transaction:

          默認(rèn)情況下iBatis認(rèn)為每個(gè)statement都是一個(gè)事務(wù)

          比如
          public void runStatementsUsingAutomaticTransactions()    
          {
               SqlMapClient sqlMapClient =
                 SqlMapClientConfig.getSqlMapClient();
                Person p = (Person)
                   sqlMapClient.queryForObject("getPerson",  // 第一個(gè)事務(wù)
                                               new Integer(9));
                p.setLastName("Smith");
                sqlMapClient.update("updatePerson", p); //第二個(gè)事務(wù)
          }

          Local Transaction:

          如果你想將幾個(gè)statement作為一個(gè)事務(wù)來處理,可以用
          startTransaction,endTransaction來劃分事務(wù)

          比如
          public void runStatementsUsingLocalTransactions() {
          SqlMapClient sqlMapClient =
              SqlMapClientConfig.getSqlMapClient();

          try {
                sqlMapClient.startTransaction();
          //事務(wù)開始
                Person p =
                 (Person)sqlMapClient.queryForObject
                                 ("getPerson", new Integer(9));

                p.setLastName("Smith");
                sqlMapClient.update("updatePerson", p);

                Department d =
                 (Department)sqlMapClient.queryForObject      
                                 ("getDept", new Integer(3));

                p.setDepartment(d);
                sqlMapClient.update("updatePersonDept", p);

                sqlMapClient.commitTransaction();
          //提交事務(wù),從開始到這里是一個(gè)事務(wù)

          } finally {
                  sqlMapClient.endTransaction();
          //事務(wù)結(jié)束
          }
          }

          posted on 2009-08-20 14:57 小菜毛毛 閱讀(9371) 評(píng)論(1)  編輯  收藏 所屬分類: J2EE相關(guān)技術(shù)與框架

          Feedback

          # re: iBatis中使用事務(wù) 2011-11-16 16:52 了你
          而分為  回復(fù)  更多評(píng)論
            

          主站蜘蛛池模板: 菏泽市| 淅川县| 奉新县| 汤阴县| 德格县| 广汉市| 泸水县| 镇雄县| 文化| 台南市| 文昌市| 盐源县| 汉源县| 新巴尔虎右旗| 平江县| 错那县| 松潘县| 乌鲁木齐县| 通许县| 舒城县| 通化县| 晋江市| 松原市| 称多县| 若尔盖县| 宁化县| 丹东市| 腾冲县| 勃利县| 崇左市| 滦南县| 会东县| 通州区| 芜湖县| 始兴县| 綦江县| 宣汉县| 兴仁县| 昌都县| 岑巩县| 简阳市|