使用MyBatis在新增数据时,默认返回的是影响的行数,而不是插入数据库的主键自增的id。映射文件可以通过如下方式配置(将文章对象article的数据录入到数据库):
<insert id="addArticle" useGeneratedKeys="true" keyProperty="id">
insert into 表 () values ()
</insert>
在代码中:
articleMapper.addArticle(article);
这里需要注意:插入数据库的id并不是以返回值返回的(返回值依然是受影响的行数),而是设置到了article对象的id属性中。article对象在插入数据库之前id值属性应该是空的,按照以上映射文件的配置方式,插入成功后id属性就会设置为插入成功之后的自增ID。keyProperty=“id” 根据自己的实际情况配置。