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