应用场景
当用mybatis插入一条记录后,需要用这条记录的主键(或者其他唯一标识)进行下一步操作时,我们想插入完成后,立即得到该条记录的主键或其他唯一标识
代码
mapper接口
package com.fenzhichuanmei.mapper;
import com.fenzhichuanmei.pojo.SmsMessage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @author Yi Dai 484201132@qq.com
* @since 2022/3/8 14:29
*/
@Mapper
public interface SmsMessageMapper {
int saveSmsMessage(@Param("smsMessage") SmsMessage smsMessage);
}
xml配置文件
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.fenzhichuanmei.mapper.SmsMessageMapper">
<insert id="saveSmsMessage" parameterType="smsMessage" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into `sms_message`(`sender`, `content`, `icc_id`, `time_of_sent`, `time_of_receipt`)
value (#{smsMessage.sender}, #{smsMessage.content}, #{smsMessage.iccId}, #{smsMessage.timeOfSent},
#{smsMessage.timeOfReceipt})
</insert>
</mapper>
配置解释
keyProperty
用于指定映射到实体类中的哪个字段 keyColumn
指定用数据库表中的哪个列(字段)映射到keyProperty
指定的实体类字段