mybatis使用useGeneratedKeys+keyProperty返回自增主键
2023-12-28 20:36:57
在mybatis调用insert方法后,可以通过useGeneratedKeys+keyProperty属性获取自增主键。
用法如下:
实体类:这里的id为自增主键
public class Payment implements Serializable {
private Long id;
private String serial;
}
dao方法:
public int create(Payment payment);
dao方法对应的xml
<insert id="create" parameterType="Payment" useGeneratedKeys="true" keyProperty="id">
insert into payment(serial) values(#{serial})
</insert>
useGeneratedKeys :一个bool变量,为true时,返回数据库自动生成的记录主键id。
keyProperty:表明返回的主键名,在执行结束后相应的主键会被赋值,这里返回的主键为实体类中的主键id。
注意:返回的主键指在java程序中的形参,不会影响原先的sql执行结果,可以参考下面的代码。
每次在调用该接口后,会插入一个新的payment对象,并且获取生成的新的主键id。
@PostMapping("/payment/create")
public CommonResult create( Payment payment){
//执行create方法
int result = paymentService.create(payment);
log.info("****插入结果:"+result);
if(result>0){
log.info("插入成功,新增的用户id:"+payment.getId());
return new CommonResult(200,"创建成功",result);
}else {
log.info("插入失败");
return new CommonResult<>(444,"插入失败",null);
}
}
文章来源:https://blog.csdn.net/weixin_44866921/article/details/135276966
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!