mybatis插入insert useGeneratedKeys返回主鍵事務支援
阿新 • • 發佈:2019-02-17
繼上次分享的mybatis插入insert返回註解id後
今天和大家分享一個大家遇到的一個小問題,就是mybatis執行insert返回主鍵id時,當在service層的某個方法新增事務時會發現主鍵是返回不了的,如果是這種情況的話請耐心看下去。
ok,還是繼續上次使用useGeneratedKeys這種方式吧,說下這是最佳的一種,以下相信大家不會陌生吧
<insert id="insert" parameterType="com.test" useGeneratedKeys="true" keyProperty="id">
下面貼下部分pojo程式碼,下面就是getset就不貼了
public classTest implements Serializable { private static final long serialVersionUID = 1L; private Integer id;
mapper.insert(test); System.out.println(test.getId());
大家猜測下這裡列印的結果會是什麼結果,NULL?主鍵?大家不妨去試下這個程式碼試下?
ok,不賣關子了這裡返回的確實是NULL,問題是出現在哪裡呢?
就是這個序列化,如果你是直接操作資料庫的話請不要去序列化,去掉序列化的程式碼就ok了,這可能是mybatis的bug吧,具體原因暫時沒空去查,等有空查出來了再來分享給大家。
希望我的分享對大家有用。。。。