mybatis批量插入,然后获取每个对象自增的id,怎么实现啊

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis批量插入,然后获取每个对象自增的id,怎么实现啊相关的知识,希望对你有一定的参考价值。

用useGeneratedKeys 或者<selectKey .... 这种是不起作用的,高手们指点一下,谢谢。

参考技术A 1.Mybatis Mapper 文件中,“useGeneratedKeys”和“keyProperty”必须添加,而且keyProperty一定得和java对象的属性名称一直,而不是表格的字段名
2.java Dao中的Insert方法,传递的参数必须为java对象,也就是Bean,而不能是某个参数。追问

你说的是插入单个对象,我是批量插入

Mybatis 在 insert 之后想获取自增的主键 id

<insert id="add"
        useGeneratedKeys="true" keyColumn="id" keyProperty="id"
        parameterType="user">
    INSERT INTO `user` (`name`,sex,register_ts) VALUES (#{name},#{sex},#{registerTs})
</insert>

  返回的插入成功的行数;自增id直接映射到你的对象里了,直接输出 xxx.getId()就可以了

以上是关于mybatis批量插入,然后获取每个对象自增的id,怎么实现啊的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis 在 insert 之后想获取自增的主键 id,但是总是返回1

mybatis批量插入,怎么返回生成的自增主键

Mybatis 在 insert 之后想获取自增的主键 id

mybatis插入数据后返回自增的主键id

使用mybatis插入自增主键ID的数据后返回自增的ID

mybatis中useGeneratedKeys和keyProperty的作用