1.在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名。
<insert id="insert" parameterType="Spares" useGeneratedKeys="true" keyProperty="id"> insert into system(name) values(#{name}) </insert>
2.Mybatis执行完插入语句后,自动将自增长值赋值给对象systemBean的属性id。因此,可通过实体类中对应的getter方法获取!
int count = systemService.insert(systemBean); int id = systemBean.getId(); //获取到的即为新插入记录的ID
3.基于注解的话,加一个@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id") 就可以,其它都一样
【注意事项】
1.Mybatis Mapper 文件中,“useGeneratedKeys”和“keyProperty”必须添加,而且keyProperty一定得和java对象的属性名称一直,而不是表格的字段名
2.java Dao中的Insert方法,传递的参数必须为java对象,也就是Bean,而不能是某个参数。