在使用mybatis操作mysql資料庫時,想取插入資料後的主鍵,一直以為返回是主鍵,但取來取去得到的值是影響記錄數。將我的**貼一下,希望可以幫到其他人。
iid">
select last_insert_id() asiid
insert into we_inspectioninfo(lid,checkid,result,cost)
values(#,#,#,#)
mapparammap = new hashmap();
parammap.put("lid",1);
parammap.put("checkid",1);
parammap.put("result","檢測良好");
parammap.put("cost",100);
object key = this.sqlsessiontemplate.insert("addinspectioninfosql", parammap);
注意返回來的 key 值不是插入後自鍵的主鍵 而是影響記錄數。
資料插入後,mybatis將主鍵放後到了parammap中
取主鍵:long iid = parammap.get("iid").tostring();
mybatis使用序列批量插入資料
mybatis只提供了單條資料的插入,要批量插入資料我們可以使用迴圈一條條的插入,但是這樣做的效率太低下,每插入一條資料就需要提交一次,如果資料量幾百上千甚至更多,插入效能往往不是我們能接受的,如下例子可以成功的使用序列往oracle批量插入資料,insert into ph org store i...
Mybatis動態插入資料(使用trim標籤)
有時我們控制同一張表,但傳入的引數不固定,操作表的字段不固定,就要用到mybatis動態插入。xml如下 insertmessage parametertype com.sf.ccsp.member.client.request.messagereq insert cx customer messa...
Mybatis動態插入資料(使用trim標籤)
有時我們控制同一張表,但傳入的引數不固定,操作表的字段不固定,就要用到mybatis動態插入。xml如下 insertmessage parametertype com.sf.ccsp.member.client.request.messagereq insert cx customer messa...