mybatis版本 : 3.2.8java
其實很簡單,以前想複雜了。。。session
mybatis插入自增id的記錄後,傳入的POJO會自動更新id的值爲插入後的結果mybatis
(目前只測了id,其餘字段若是不給定值,不知是否更新,有待測試)app
記錄以下:測試
User.xmlspa
<insert id="create" parameterType="User" useGeneratedKeys="true" keyProperty="id"> INSERT INTO t_user(<include refid="all_property"/>) VALUES (#{createTime}, #{mobile}, #{email},#{QQ}) </insert>
IUserMapper.java code
void create(User user);
Test 代碼
xml
@Test public void testCreate() { SqlSession session = DBUtil.getSqlSession(); IUserMapper userMapper = session.getMapper(IUserMapper.class); User user = userMapper.find("18910000012"); // user.setId(0L); user.setMobile("18900121033"); userMapper.create(user); System.out.println(user.getId()); session.commit(); DBUtil.close(session); }
結果(返回的 ID):15get
其餘狀況如何獲取id還有待實驗,這種傳入pojo的方式很簡單,不須要 <selectKey />(我也沒經過這個標籤獲得過id)it