需求场景:创建活动,活动可以设置红包雨场次和奖励信息。主表是活动表,关联表是红包雨场次表和奖励表。在更新活动信息时,判断该活动关联的红包雨场次信息和奖励信息是更新还是新增是需要考虑的问题。
解决思路:如果是更新,那么旧数据必然有数据库产生的id,就以id作为判断依据,若有id,则执行更新语句,否则,执行插入语句。
if(mgRedPacketSessionInfo.getId() != null) { //更新场次信息 redPacketSessionInfoMapper.updateByPrimaryKeySelective(mgRedPacketSessionInfo); } else { //插入新场次信息 redPacketSessionInfoMapper.insertSelective(mgRedPacketSessionInfo); }