1. 程式人生 > >mybatis插入insert useGeneratedKeys返回主鍵事務支援

mybatis插入insert useGeneratedKeys返回主鍵事務支援

繼上次分享的mybatis插入insert返回註解id後

今天和大家分享一個大家遇到的一個小問題,就是mybatis執行insert返回主鍵id時,當在service層的某個方法新增事務時會發現主鍵是返回不了的,如果是這種情況的話請耐心看下去。

ok,還是繼續上次使用useGeneratedKeys這種方式吧,說下這是最佳的一種,以下相信大家不會陌生吧

<insert id="insert" parameterType="com.test" useGeneratedKeys="true" keyProperty="id">

下面貼下部分pojo程式碼,下面就是getset就不貼了

public class 
Test 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吧,具體原因暫時沒空去查,等有空查出來了再來分享給大家。

希望我的分享對大家有用。。。。