天天看點

mybatis插入對象傳回主鍵id

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>