小菜毛毛技術分享

          與大家共同成長

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            164 Posts :: 141 Stories :: 94 Comments :: 0 Trackbacks
          先復習一下事務的特點:ACID

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

          iBatis中的事務分為:
          Automatic Transaction
          Local Transaction
          Global Transaction
          Custom Transaction

          Automatic Transaction:

          默認情況下iBatis認為每個statement都是一個事務

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

          Local Transaction:

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

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

          try {
                sqlMapClient.startTransaction();
          //事務開始
                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();
          //提交事務,從開始到這里是一個事務

          } finally {
                  sqlMapClient.endTransaction();
          //事務結束
          }
          }

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

          Feedback

          # re: iBatis中使用事務 2011-11-16 16:52 了你
          而分為  回復  更多評論
            

          主站蜘蛛池模板: 鄄城县| 重庆市| 山丹县| 郁南县| 九寨沟县| 南昌市| 称多县| 台东县| 罗田县| 永善县| 长寿区| 冕宁县| 左贡县| 福泉市| 绥德县| 鄯善县| 临夏市| 宣武区| 中卫市| 迁西县| 伊吾县| 布尔津县| 长寿区| 大石桥市| 平谷区| 夏邑县| 稷山县| 靖远县| 桂东县| 闸北区| 云阳县| 洛浦县| 东海县| 桂阳县| 定结县| 麦盖提县| 海城市| 桦南县| 莱西市| 武陟县| 乐平市|