В повседневном процессе развития бизнеса мы всегда сталкиваемся с ситуацией пакетной обработки базы данных, но используемый нами базовый класс BaseMapper Mybatis Plus предоставляет нам только возможность пакетного запроса, но не обеспечивает пакетные обновления, пакетные вставки и другие операции. . Если вы новичок ищете, как реализовать пакетные обновления и пакетные вставки в Mybatis Plus, появится большое количество необъяснимых решений. На самом деле Mybatis Plus также предоставляет очень простой метод реализации. Далее давайте посмотрим, как это реализовать.
1、Сначала определитеUserServiceИнтерфейс и наследованиеIservice<T>,существоватьIservice<T>Многие часто используемые методы определены в
public interface UserService extends IService<UserPo> {
void updateByIdBatch(List<UserDTO> userDTOs);
}
2、существоватьMapperМы можем использовать наследованиеServiceImpl<M extends BaseMapper<T>, T> способ,смотретьServiceImplВы можете найти его реализацию, посмотрев исходный код.Iservice<T>интерфейс,Таким образом, мы можем использовать this.saveBatch() для реализации пакетной вставки.,this.updateBatchById() реализует пакетные обновления. Если в вашем коде уже есть класс Mapper,Эта реализация также совместима.
public class UserServiceImpl extends ServiceImpl<UserPOMapper, UserPO> implements UserService{
@Resource
private UserPOMapper userPOMapper;
@Resource
private UserConverter userConverter;
@Override
public void saveBatch(List<UserDTO> userDTOs) {
this.saveBatch(userConverter.userDTOList2PO(userDTOs));
}
@Override
public void updateByIdBatch(List<UserDTO> userDTOs) {
this.updateBatchById(userConverter.userDTOList2PO(userDTOs));
}
}