mybatis更新后立即获取更新记录的自增主键
在 MyBatis 中,如果你希望在插入数据后获取生成的主键值,可以通过配置 useGeneratedKeys 和 keyProperty 来实现。以下是具体的步骤:
修改 Mapper XML 文件: 在 <insert> 标签中添加 useGeneratedKeys="true" 和 keyProperty="id" 属性。假设 SysDutyType 的主键字段名为 id。
<insert id="insertSelective" parameterType="com.example.SysDutyType" useGeneratedKeys="true" keyProperty="id">
INSERT INTO sys_duty_type
(complaints_type_id, complaints_type_name, duty_type_name, work_order_type, duty_type_state, site_user_flag, point_site, create_time, creator, modify_time, modifier)
VALUES
(#{complaintsTypeId}, #{complaintsTypeName}, #{dutyTypeName}, #{workOrderType}, #{dutyTypeState}, #{siteUserFlag}, #{pointSite}, #{createTime}, #{creator}, #{modifyTime}, #{modifier})
</insert>
在插入数据后,可以直接通过 sysDutyType.getId() 获取生成的主键值。
// 插入数据
sysDutyTypeMapper.insertSelective(sysDutyType);
// 获取生成的主键
Long generatedId = sysDutyType.getId();