MyBatis-Plus 通用IService
一、前言
MyBatis-Plus除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的接口提取到公共。其实按照MyBatis-Plus的这种思想,可以自己也实现一些通用的Controller。
二、Iservice的使用
service层需要继承IService,当然实现层也要继承对应的实现类。
/**
* <p>
* 用户 服务类
* </p>
*
* @author tgy
* @since 2020-6-10
*/
public interface UserService extends IService<User> {}
/**
* <p>
* 用户 服务实现类
* </p>
*
* @author tgy
* @since 2020-6-10
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {}
1.增删改查
如下列出了常用的增删改查方法,具体参数铁子们就自己赋值了,非常的方便,设计非常的银性。
//查询所有
userService .list();
//查询数量
userService .count();
//根据ID查list集合
userService .listByIds());
//根据ID删除
userService .removeById();
userService .removeByIds();
//修改
userService .update();
//新增
userService .save();
2、特殊方法
①getOne(),这个是方法返回结果不止一条则会抛出异常,如果想默认取第一条结果,可以给这方法传第二个参数为false。
User one = userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getAge, 11),false);
②saveOrUpdateBatch(),批量新增或者修改方法,判断ID是否存在,如果ID不存在执行新增,如果ID存在先执行查询语句,查询结果为空新增,否则修改。
boolean b = userService.saveOrUpdateBatch(users);