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);
经验分享 程序员 微信小程序 职场和发展