方法一
<insert id="insertNewOrder" parameterType="Order"
useGeneratedKeys="true" keyProperty="id">
insert into orders (user_id, status, create_time)
values(#{userId}, 0, sysdate())
</insert>
useGeneratedKeys=“true” 也可以写在注释中:
@Options(useGeneratedKeys = true)
int insertNewOrder(Order order);
方法二
<insert id="insertNewOrder" parameterType="Order">
<!-- selectKey将主键返回,需要再返回 -->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID()
</selectKey>
insert into orders (user_id, status, create_time)
values(#{userId}, 0, sysdate())
</insert>
接收数据
Order o = new Order();
o.setUserId(2);
int n = oMapper.insertNewOrder(o);
System.out.println("刚刚插入的主键:"+o.getId());

本文介绍在MyBatis中实现主键自增的两种方法:使用useGeneratedKeys属性和selectKey元素。通过具体代码示例,展示了如何在插入数据后获取并设置自动生成的主键。
&spm=1001.2101.3001.5002&articleId=105051438&d=1&t=3&u=442bb38075e049e5b659dc49127452d6)
5042

被折叠的 条评论
为什么被折叠?



