MyBatis-Plus 通用IService的使用
一、前言
MyBatis-Plus除了通用的Mapper还是通用的Servcie层,这也减少了相对应的代码工作量,把通用的
二、Iservice的使用
service层需要继承IService,当然实现层也要继承对应的实现类。
接口提取到公共。其实按照MyBatis-Plus的这种思想,可以自己也实现一些通用的Controller。
/** * <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);