繼續ibatis非查詢標籤
1 自動生成的鍵
每個插入的記錄都會生成乙個主鍵用於區分不同的記錄,在各種資料庫裡提供了不同生成主鍵的方式,ibatis很好地解決了重複取得同一鍵值的問題
keyproperty 那個對應資料庫裡對應主鍵的屬性,resultclass返回的型別,select last_insert_id() 獲得鍵值的方法,不同的資料庫方法不同insert into user
( userid,username, password, department
)values(
#userid#,
#username#,
#password#,
#department#
) select last_insert_id()
<!—oracle sequence example -->
select stockidsequence.nextval as id from dual
insert into product (prd_id,prd_description)
values (#id#,#description#)
insert into product (prd_description)
values (#description#)
select @@identity as id
insert語句可以放在主鍵生成之前也可以放在之後integer returnvalue=(integer)sqlmap.insert("insertoneuser",user) 可以返回插入的主鍵
2 儲存過程
在使用的資料庫裡已有生成的儲存過程,配置檔案裡配置如下:
new_proc為已定義好的儲存過程名,用call呼叫,傳入乙個引數就傳乙個?
測試類:
//呼叫儲存過程
map m=new hashmap(1);
m.put("name", new string("lisi"));
sqlmap.update("pro_insert",m);
integer i=(integer)sqlmap.queryforobject("pro_insert",m);
3 批量處理
一次將多條語句提交給資料庫而不是一條一條提交,可以提公升優勢和效能
sqlmap.startbatch();
sqlmap.insert("insertoneuser",user1);
sqlmap.insert("insertoneuser",user2);
sqlmap.executebatch();
#結束 ibatis多表查詢
我們先來看看這兩張表 表名 tbl student 字段 id,name,class id 表名 tbl class 字段 id,name 很簡單的乙個邏輯,班級下邊有很多學生。我們先對學生表做簡單的查詢。model public class student select id,name,class...
ibatis 動態查詢
最近專案需要,做了乙個動態查詢。把查詢結果返回到頁面上顯示。要查詢的字段和表名都是動態的,是在後台拼出來的。可是在ibatis中執行的時候總報 列名無效 在sql plus中執行則正常。百思不得其解。後來通過查資料,解決如下 select t.creator,t.create dt,decode o...
ibatis 動態查詢
在複雜查詢過程中,我們常常需要根據使用者的選擇決定查詢條件,這裡發生變化的 並不只是sql 中的引數,包括select 語句中所包括的字段和限定條件,都可能發生變 化。典型情況,如在乙個複雜的組合查詢頁面,我們必須根據使用者的選擇和輸入決定查 詢的條件組合。乙個典型的頁面如下 對於這個組合查詢頁面,...