mybatis 插入一條資料返回相應資料ID

2021-07-30 10:23:40 字數 732 閱讀 5930

mybatis 原來一般插入一條資料就這樣

insert into  gylatlong ( userid, longitude, latitude) 

values(#, #, #)

當然這樣的話 其實他也是會返回1個 int值的。 

但是 這個 int 會一直是1. 因為他返回來的其實他影響的行數, 

也就是你插入一條資料, 他返回來的並不是你插入進去他資料的唯一id

查了網上的資料 才終於知道,

insert into  tb_taxiorderinfo ( userid, driverid, startaddress, endaddress,publictime,startlongitude,startlatitude

) values (#, 0, #, #, getdate(), #, #

)

其中加上 usegeneratedkeys=」true」 keyproperty=「id」

這個意思就是說。 他在插入後, 會自動把插入的資料生成的id

塞入到你這個 keyproperty 後面設定的 id 這個引數裡面。

執行之後 你直接取id 的值就好了。

我這裡接收的 parametertype 是 map。 

所以在 之前 map 要有這個 key

如果接收的是 實體類的話, 當然實體類裡面就要定義id 這個屬性了

mybatis 用 IN 批量查詢 只返回一條資料

這個問題網上大多數是從其他角度 比如怎麼正確使用mybatis的標籤講的。我自己遇到問題的時候確定自己使用標籤沒問題,但執行結果還是超出期望。直接說結論吧。如果xml中寫的是 listgetlistbymsgids param msg ids listmsg ids xml中sql為 簡化了 部分 ...

MySQL PHP Ajax插入一條資料無反應

假設開始設計資料表的結構如下 html嵌入的php 如下 php的controler 如下 public function add group return this fetch php的model 如下 public function insertgroup param else catch pd...

MyBatis中新增一條資料如何獲取資料主鍵

int insert basecompany record select last insert id insert into tb base company pkid,company code,company name,company address,first manager name,cert...