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

相关推荐
lzb_kkk17 天前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao25 天前
三维手眼标定
1024程序员节
guozhetao1 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk1 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk2 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk2 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment3 个月前
List介绍
1024程序员节
开利网络3 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo3 个月前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹4 个月前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节