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>