在mybatis 的映射文件中,设置两个属性。
useGeneratedKeys="true" keyProperty="id"
例如:
<!-- 向订单中插入商品 -->
<insert id="insertGoods" parameterType="com.self.modules.order.entity.OrderEntity"
useGeneratedKeys="true" keyProperty="id">
insert into [order](gId,userId,buyNum) values(#{gId},#{userId},#{buyNum})
</insert>
在orcale中不支持自增。它是用序列来模拟自增的。
<insert id="insertGoods" parameterType="com.self.modules.order.entity.OrderEntity" databaseId="orcale">
<selectKey keyProperty="id" order="BEFORE" resultType="Integer">
select EMPLOYEES_SEQ.nextval from [order]
</selectKey>
insert into [order](EMPLOYEE_ID,gId,userId,buyNum) values(#{id},#{gId},#{userId},#{buyNum})
</insert>
它是先拿到记录的最大值+1,再插入的。