使用Mybatis插入数据时,返修所插入数据的id。
在Mybatis mapper.xml文件中,在插入方法的头部添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名,而不是表格的字段名。
<insert id="insert" parameterType="com.sale"
useGeneratedKeys="true" keyProperty="id">
insert into sale(name) values(#{name})
</insert>
Mybatis执行完插入语句后,自动将自增长值赋值给对象sale的属性id。因此,可通过sale对应的getter方法获取.
int count = saleService.insert(sale);
int id = sale.getId(); //获取到的即为新插入记录的ID
【注意事项】
1.Mybatis Mapper 文件中,“useGeneratedKeys”和“keyProperty”必须添加,而且keyProperty一定得和java对象的属性名称一直,而不是表格的字段名
2.java Dao中的Insert方法,传递的参数必须为java对象,也就是Bean,而不能是某个参数。
来源:oschina
链接:https://my.oschina.net/u/1450300/blog/3189093