mybatis-plus中的basemapper

mybatis-plus中的basemapper

作用: 它有自定义的mapper方法,支持批量增删改操作。

经常使用mybatis的开发朋友们都知道mybatis提供了两种类型的预定义接口来帮助我们做单表的增删改查操作:

  • com.baomidou.mybatisplus.core.mapper.BaseMapper
  • com.baomidou.mybatisplus.extension.service.IService

IService方式和BaseMapper这两种方式的区别以及联系是如何的呢? 下面我们来分析~~
在这里插入图片描述

  • 首先从提供的方法上名字有些许不同,功能大致是类似的,但是IService提供了更多的接口,包括BaseMapper不支持的批量增删改。更确切的来说,IService<M,T> 针对业务逻辑层的封装 需要指定Dao层类和对应的实体类 是在BaseMapper基础上的加强,因为其内部方法实现依旧调用的是BaseMapper里面的接口。如果你需要使用mp提供的批量接口,使用Iservice是比较合适的。
  • IService的的默认是ServiceImpl<Dao,Entity> 需要提供Dao和对应的Entity,如果只想用其中一个,而且你觉得IService依赖BaseMapper比较多此一举,想要直接使用BaseMapper但有舍不得IService提供的批量增删改的功能,那就往下看如何通过自定义BaseMapper来加入批量功能的实现吧。
    https://blog.csdn.net/YYZZHC999/article/details/104734262
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Mybatis-Plus继承BaseMapper是指Mybatis-Plus框架Mapper接口可以继承BaseMapper接口,从而获得一些基本的CRUD方法,如insert、update、delete、select等。这样可以减少开发人员的重复劳动,提高开发效率。同时,Mybatis-Plus还提供了一些高级功能,如分页、逻辑删除、乐观锁等,可以进一步简化开发流程。 ### 回答2: MyBatis-Plus是一款优秀的MyBatis增强工具,提供了丰富的便于开发的API和增强功能,方便我们快速完成MyBatis的CRUD操作。MyBatis-PlusBaseMapper是一个MyBatis常用的Mapper接口,提供了一系列基础的CRUD方法,如:selectById(), selectBatchIds(), selectOne(), selectList(), insert(), insertBatch(), updateById(), deleteById(), deleteBatchIds()等。 在基于MyBatis-Plus进行开发时,我们可以直接继承BaseMapper接口,然后通过@Repository注解将其注入到Service层,实现一些基础的数据库操作。当需要自定义SQL操作时,我们只需在自定义的Mapper接口继承BaseMapper接口即可。这样既可以简化代码,又可以减少重复工作,提高开发效率。 BaseMapper的继承使用非常简单,只需要在自定义的Mapper接口上加上一个注解@Mapper(或者@Repository),然后继承BaseMapper即可。例如: ```java @Mapper @Repository public interface UserMapper extends BaseMapper<User> { // 自定义SQL语句 } ``` 在自定义的Mapper接口可以添加自己的SQL操作方法,BaseMapper接口的方法也可以进行重写,但一般不建议这样做。实际开发,我们可以通过BaseMapper提供的方法快速实现基础的CRUD操作,然后再根据业务需求逐步完善自己的Mapper接口。 总之,继承BaseMapperMyBatis-Plus优化数据库操作和减少代码冗余的好方法。将通用的CRUD操作统一处理后,我们可以更关注业务逻辑的实现,提高开发效率和代码质量。 ### 回答3: MyBatis-Plus提供了一个BaseMapper类,它已经实现了基本的CRUD操作方法,我们可以通过继承BaseMapper来进行更方便的开发。 继承BaseMapper主要有以下优点: 1. 代码复用性高:BaseMapper已经实现了基本的CRUD操作方法,我们可以直接继承BaseMapper来使用这些方法,而不用再次编写相同的代码。 2. 提高开发效率:由于BaseMapper已经实现了基本的CRUD操作方法,我们只需要关注业务逻辑的实现,不用再花费时间编写基础的CRUD操作。 3. 易于维护:继承BaseMapper后,我们可以使用通用的CRUD操作方法来操作数据库,这使得我们的代码更加简洁、易于维护。 使用BaseMapper的步骤如下: 1. 定义实体类并添加注解 ```java @Data public class User implements Serializable { @TableId(type = IdType.AUTO) private Long id; private String name; private Integer age; private String email; } ``` 2. 创建Mapper接口并继承BaseMapper<T> ```java @Mapper public interface UserMapper extends BaseMapper<User> { } ``` 3. 使用Mapper接口 使用Mapper接口进行CRUD操作: ```java @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public List<User> listUsers() { return userMapper.selectList(null); } @Override public User getUserById(Long id) { return userMapper.selectById(id); } @Transactional @Override public boolean addUser(User user) { return userMapper.insert(user) > 0; } @Transactional @Override public boolean updateUser(User user) { return userMapper.updateById(user) > 0; } @Transactional @Override public boolean deleteUserById(Long id) { return userMapper.deleteById(id) > 0; } } ``` 继承BaseMapper可以让我们的开发更加高效,同时也可以让代码更加简洁易读。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值