使用mybatis插入資料取主鍵

2021-09-02 09:21:22 字數 696 閱讀 7401

在使用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...