iBATIS中statement ID命名衝突

2021-08-29 21:12:26 字數 850 閱讀 8249

在用ibatis開發軟體時,需要寫很多sqlmap xml檔案,尤其是多人開發時候,這樣就會造成statement中的id會發生命名衝突,比如:

在a.xml、b.xml中,有以下片斷

a.xml

<?xml version="1.0" encoding="gbk"?>

......

b.xml

<?xml version="1.0" encoding="gbk"?>

......

兩個sqlmap file都有id為"abcd"的配置,如果這種情況,執行setsqlmapclienttemplate().update("abcd", new integer(id));的時候,ibatis就不知道是調誰。

那麼如何如何解決這個問題?方法1:通過命名規範,確保所有的id必須不一樣,這樣會麻煩,特別是當系統整合時候出現該問題,更是頭疼,此方法不可取。

方法2:就是ibatis早已準備好的方法,通過sqlmap中的namespace。

ibatis中sqlmapconfig.xml中有乙個設定

<?xml version="1.0" encoding="gbk"?>

getsqlmapclienttemplate().update("a.abcd", new integer(id));

getsqlmapclienttemplate().queryforobject("b.abcd", new integer(id));

ibatis中SqlMapClient事務處理

ibatis中sqlmapclient事務 sqlmapclient.starttransaction 開始事務sqlmapclient.committransaction 提交事務sqlmapclient.endtransaction 結束事務,操作失敗的時候,整個事務就會在endtransact...

ibatis中應用技巧

ibatis中經常遇到乙個公用的sql被多處呼叫的情況。比如許可權驗證這塊,我需要知道每次使用者取出的資源驗證對其是否有許可權,則需要對取出的資源列表做乙個過濾。資源表結構大致如下 sys res row id 資源id sys sys res row id 上級資源id system row id...

IBATIS中 與 使用

ibatis中關於iterate和 與 的應用 乙個包含list元素的hashmap引數賦給sqlmap public int getcountbyid string id,string title,list ids throws exception 上面的ids元素是乙個list,裡面包含了乙個i...