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,在入库前就已知.

相关推荐
✿ ༺ ོIT技术༻4 天前
Linux:TCP和守护进程
linux·运维·服务器·网络·tcp/ip·1024程序员节
辅助东皇燕双鹰8 天前
行测知识()
1024程序员节
深蓝易网11 天前
探寻制造型企业MES管理系统:功能、架构与应用全解析
大数据·运维·人工智能·架构·制造·1024程序员节
Lenyiin16 天前
2848、与车相交的点
c++·算法·leetcode·1024程序员节
earthzhang202121 天前
《深入浅出HTTPS》读书笔记(31):HTTPS和TLS/SSL
开发语言·网络·python·https·1024程序员节
不讲废话的小白23 天前
怎么样把pdf转成图片模式(不能复制文字)
pdf·1024程序员节
明明真系叻24 天前
2025.1.26机器学习笔记:C-RNN-GAN文献阅读
人工智能·笔记·深度学习·机器学习·生成对抗网络·1024程序员节
Joeysoda1 个月前
Java数据结构 (从0构建链表(LinkedList))
java·linux·开发语言·数据结构·windows·链表·1024程序员节
清风-云烟1 个月前
使用redis-cli命令实现redis crud操作
java·linux·数据库·redis·spring·缓存·1024程序员节
Joeysoda1 个月前
Java数据结构 (链表反转(LinkedList----Leetcode206))
java·linux·开发语言·数据结构·链表·1024程序员节