方法一
<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());