xml的新增insert语句怎么得到新增的id值

java 复制代码
public class OperationLog {
    private Long id;
    private Long groupId;
    private Long userId;
    private String crtName;
    private Date crtTime;
    private String optResult;
    private String optType;
    private String optContent;
    private String optObject;

    // Getters and Setters
}

// 插入操作
operationLogMapper.insertPlain(operationLog);

// 获取生成的ID
Long generatedId = operationLog.getId();
XML 复制代码
<insert id="insertPlain" useGeneratedKeys="true" keyProperty="operationLog.id">
    INSERT INTO ${tableName} (group_id, user_id, crt_name, crt_time, opt_result, opt_type, opt_content, opt_object)
    VALUES (#{operationLog.groupId}, #{operationLog.userId}, #{operationLog.crtName}, #{operationLog.crtTime}, #{operationLog.optResult}, #{operationLog.optType}, #{operationLog.optContent}, #{operationLog.optObject})
</insert>

解释:

useGeneratedKeys="true": 表示启用自动生成的键值。

keyProperty="operationLog.id": 指定将生成的键值赋值给operationLog对象的id属性。

注意事项:

确保数据库表中的主键字段(通常是id)是自增的。

在Java代码中,插入操作后可以通过operationLog.getId()获取生成的ID值。

另一种方法是,生成雪花算法id,在入库前就已知.

相关推荐
混迹网络的权某13 分钟前
每天一道C语言精选编程题之求数字的每⼀位之和
c语言·开发语言·考研·算法·改行学it·1024程序员节
IronmanJay3 小时前
【LeetCode每日一题】——862.和至少为 K 的最短子数组
数据结构·算法·leetcode·前缀和·双端队列·1024程序员节·和至少为 k 的最短子数组
加载中loading...4 小时前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
Wx120不知道取啥名4 小时前
C语言之长整型有符号数与短整型有符号数转换
c语言·开发语言·单片机·mcu·算法·1024程序员节
biomooc5 小时前
R语言 | paletteer包:拥有2100多个调色板!
r语言·数据可视化·1024程序员节
Hello.Reader5 小时前
FFmpeg 深度教程音视频处理的终极工具
ffmpeg·1024程序员节
Y.O.U..6 小时前
STL学习-容器适配器
开发语言·c++·学习·stl·1024程序员节
就爱敲代码6 小时前
怎么理解ES6 Proxy
1024程序员节
憧憬一下6 小时前
input子系统的框架和重要数据结构详解
arm开发·嵌入式·c/c++·1024程序员节·linux驱动开发
三日看尽长安花6 小时前
【Tableau】
1024程序员节