mybatis插入對象傳回主鍵id
一、注解式
/**
* 插入資料:傳回記錄主鍵id值
* @param permit
* @return
*/
@Options(useGeneratedKeys = true, keyProperty = "pkid", keyColumn = "pkid")
@Insert("insert into houdict.t_pj_presale_permit(project_pkid,property_type,presale_license_No,issue_date,permit_range,permit_range_ids,del_permit_range_ids," +
"pictures_number,approval_status,create_by,create_date,update_date,update_by,is_deleted,enable_status,document_type, id_number) " +
"values(#{projectPkid},#{propertyType},#{presaleLicenseNo},#{issueDate},#{permitRange},#{permitRangeIds},#{delPermitRangeIds}," +
"#{picturesNumber},#{approvalStatus},#{createBy},now(),now(),#{updateBy},#{isDeleted},#{enableStatus},#{documentType},#{idNumber} )")
void addNew(TPjPresalePermit permit);
說明:
1.
@Options(useGeneratedKeys = true, keyProperty = "*permit.*pkid", keyColumn = "pkid")
...... "values(#{*permit.*projectPkid},#{*permit.*propertyType},......................
void addNew(**@Param("permit")** TPjPresalePermit permit);
keyColumn 是對應的主鍵列
在擷取主鍵id的時候隻需要在調用的這個方法後面直接使用adminUser.getId();就可以擷取到對應的主鍵id,
例如
TPjPresalePermit tPjPresalePermit = new TPjPresalePermit();
BeanUtils.copyProperties(permitParam.getPermit(),tPjPresalePermit);
baseMapper.addNew(tPjPresalePermit);
Long pkid = tPjPresalePermit.getPkid();
二、XML式
<insert id="batchInsertCameras" useGeneratedKeys="true" keyProperty="pkid">
insert into camera (chanIndex,cameraName)
values
<foreach collection="list" item="c" separator=",">
(#{c.chanIndex},#{c.cameraName})
</foreach>
</insert>