Mybatis获取插入记录的自增长ID

来源:互联网 发布:ios10软件闪退 编辑:程序博客网 时间:2024/05/16 17:44
通常数据库中表的主键是‘自动递增(MySQL)’或’序列(Oracle)‘,但插入数据后又要取得些条数据的ID(将ID做为主键)
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。因此,可通过systemBean对应的getter方法获int count = systemService.insert(systemBean);            int id = systemBean.getId(); //获取到的即为新插入记录的ID


【注意事项】

1.Mybatis Mapper 文件中,“useGeneratedKeys”和“keyProperty”必须添加,而且keyProperty一定得和java对象的属性名称一直,而不是表格的字段名

2.java Dao中的Insert方法,传递的参数必须为java对象,也就是Bean,而不能是某个参数。

原创粉丝点击