第一步:
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名!
mysql
<insert id="insert" parameterType="Bean"
useGeneratedKeys="true" keyProperty="id">
insert into spares(spares_id,spares_name,
spares_type_id,spares_spec)
values(#{id},#{name},#{typeId},#{spec})
</insert>
oracle
<insert id="saveOrderPackage" parameterType="OrderPackage">
<selectKey resultType="int" order="BEFORE" keyProperty="order_id">
SELECT
ORDER_PACKAGE.NEXTVAL AS order_id FROM DUAL
</selectKey>
INSERT INTO ORDER_PACKAGE (
ORDER_ID,
FK_ORDER_ID,
....
)
</insert>
第二步:
oracle为例,Mybatis执行完插入语句后,自动将自增长值赋值给对象OrderPackage的属性order_id。因此,可通过OrderPackage对应的getter方法获取!
int count = sparesServiceMapper.insert(OrderPackage);
System.out.println("共插入" + count + "条记录!"
+ "\n刚刚插入记录的主键自增长值为:" + OrderPackage.getOrder_id());
博客介绍了在Mybatis中实现自增ID赋值的方法。在Mybatis Mapper文件添加“useGeneratedKeys”和“keyProperty”属性,以Oracle为例,执行插入语句后,自增长值会自动赋值给对象属性,可通过getter方法获取。
2789

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



