自己书写xml时如何返回自增长的数据表id数值

本文介绍了在MyBatis中配置mapper.xml以在插入操作后获取Mysql或pgsql数据库的自增长ID,通过useGeneratedKeys和keyProperty属性实现,并给出了代码示例。
摘要由CSDN通过智能技术生成

在使用Mysql、pgsql等数据库时常用使用id自增长的方式来控制id数值;在使用插件书写调用时通常可以自动返回增长的id值,但在自己书写是应当如何处理?

在MyBatis中,如果你想要在执行插入操作后获取自动生成的主键(如MySQL中的自动增长ID),你需要在对应的mapper.xml文件中的<insert>标签里配置以下属性:

<insert id="insertProduct" parameterType="com.example.Product" useGeneratedKeys="true" keyProperty="id">
    INSERT INTO product (name, description) VALUES (#{name}, #{description})
</insert>

这里有几个关键点:
useGeneratedKeys="true":设置为true表示启用JDBC的getGeneratedKeys方法来获取由数据库自动生成的主键。
keyProperty="id":指定哪个属性将接收生成的主键值。这里的"id"应该对应于传入参数对象(例如Product)中与数据库表主键字段相对应的属性名。
这样,在执行insertProduct方法之后,新插入记录的自增ID会自动填充到传入的Product实体类的id属性上,你可以在调用Mapper方法后的Java代码中通过product.getId()来获取这个ID。

代码参考:

//执行插入 
 productMapper.insertProduct(product);
 //完成插入后便可以通过实体对象获取id值
 product.getId();

通过以上方法进行配置即可完成获取数据库设置id自动增长(序列)的id在插入或获取。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值