mybatis mapper.xml获取insert后的自增ID

在MyBatis中,要获取执行INSERT操作后的自增ID,可以在mapper.xml文件中的对应<insert>标签中使用useGeneratedKeys属性和keyProperty属性。

以下是一个示例:

<insert id="insertUser" useGeneratedKeys="true" keyProperty="id">

INSERT INTO users (username, email) VALUES (#{username}, #{email})

</insert>

在这个例子中,假设users表有一个自增主键字段id。useGeneratedKeys设置为true表示我们希望获取数据库生成的键值,keyProperty设置为Java对象中的属性名,MyBatis会将生成的ID设置到这个属性中。

确保你的数据表设置了自增主键,并且你的实体类中有对应的属性。例如:

public class User {

private Integer id;

private String username;

private String email;

// getters and setters

}

在执行insertUser操作后,MyBatis会将生成的ID自动设置到传入的User对象的id属性中。

相关推荐
憧憬成为java架构高手的小白1 小时前
LangGraph4j 实战(下)
java
天诰2 小时前
SA-K-11 检索会消失吗与四个未解问题
java·服务器·人工智能·python·机器学习·ai编程
这个昵称不容易5 小时前
SpringBoot「衣依」服装销售平台:144个Java文件180个接口,从挑衣服到收货评价整条链路都在
java·springboot·毕设
计算机毕设定制辅导-无忧学长6 小时前
《基于微信小程序的居家医疗陪护预约系统设计与实现》
java·spring boot·微信小程序·uniapp·居家医疗陪护预约系统
文丑颜不良啊7 小时前
LeetCode2221~2240题目解析
java·leetcode
秋饼7 小时前
Computer Use Agent Java 落地实战:感知-行动循环、执行器与安全围栏生产级实现
java·ai·技术分享·后端开发
文丑颜不良啊9 小时前
LeetCode2161~2180题目解析
java·leetcode
文丑颜不良啊11 小时前
LeetCode2141~2160题目解析
java·leetcode
LabVIEW开发11 小时前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
天天被压力12 小时前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python