首先在Mybatis Mapper文件中添加属性 useGeneratedKeys 和 keyProperty ,其中keyProperty是Java对象的属性名,而不是表格的字段名。
<!-- 新增 -->
<insert id="addShopInfo" parameterType="cn.homed.shop.base.dto.ShopInfoDTO" useGeneratedKeys="true" keyProperty="shopId">
insert into mall_shop_info(
<include refid="sql_add_columns"/>
)values(
<include refid="sql_add_properties"/>
)
</insert>
这样加完之后在后面的代码里直接get就能拿到了
@Override
public int update(ShopInfoDTO shopInfoDto){
if(ObjectUtil.isNull(shopInfoDto)){
return 0;
}
shopDomainBO.removeShopDomainById(shopInfoDto.getShopId());
this.batchSaveShopDomain(shopInfoDto);
return this.shopInfoDao.updateShopInfo(shopInfoDto);
}
private void batchSaveShopDomain(ShopInfoDTO shopInfoDto) {
List<String> domainIds = shopInfoDto.getDomainIds();
List<ShopDomainDTO> shopDomainDTOList = new ArrayList<>();
// 批量新增店铺领域关系
if (!ObjectUtil.isNull(domainIds)) {
for (String domainId : domainIds) {
ShopDomainDTO shopDomainDTO = new ShopDomainDTO();
shopDomainDTO.setShopId(shopInfoDto.getShopId());
shopDomainDTO.setDomainId(domainId);
shopDomainDTO.setCreateDate(DateUtil.now());
shopDomainDTOList.add(shopDomainDTO);
}
shopDomainBO.batchSave(shopDomainDTOList);
}
}