很多小伙伴知道MybatisPlus简化了开发,让我们不用编写sql语句,但是只知道在Mapper层实现,其实Service层也是可以实现的!
Service可以直接实现增删改查操作,不过底层依旧依靠Mapper,但是功能没有mapper多。
常见service方法:
Save:
// 插入一条记录(选择字段,策略插入)
👍boolean save(T entity);
// 插入(批量)
👍boolean saveBatch(Collection<T> entityList);
Update :;
// 根据 UpdateWrapper 条件,更新记录 需要设置sqlset
boolean update(Wrapper<T> updateWrapper);
// 根据 whereWrapper 条件,更新记录
👍boolean update(T updateEntity, Wrapper<T> whereWrapper);
// 根据 ID 选择修改
👍boolean updateById(T entity);
// 根据ID 批量更新
👍boolean updateBatchById(Collection<T> entityList);
SaveOrUpdate:
// TableId 注解存在更新记录,否插入一条记录
👍boolean saveOrUpdate(T entity);
// 根据updateWrapper尝试更新,否继续执行saveOrUpdate(T)方法
👍boolean saveOrUpdate(T entity, Wrapper<T> updateWrapper);
// 批量修改插入
👍boolean saveOrUpdateBatch(Collection<T> entityList)
Remove:
// 根据 entity 条件,删除记录
boolean remove(Wrapper<T> queryWrapper);
// 根据 ID 删除
👍boolean removeById(Serializable id);
// 根据 columnMap 条件,删除记录
boolean removeByMap(Map<String, Object> columnMap);
// 删除(根据ID 批量删除)
👍boolean removeByIds(Collection<? extends Serializable> idList);
单查询Get:
// 根据 ID 查询
👍T getById(Serializable id);
// 根据 Wrapper,查询一条记录。结果集,如果是多个会抛出异常,随机取一条加上限制条件 wrapper.last("LIMIT 1")
👍T getOne(Wrapper<T> queryWrapper);
// 根据 Wrapper,查询一条记录
T getOne(Wrapper<T> queryWrapper, boolean throwEx);
// 根据 Wrapper,查询一条记录
Map<String, Object> getMap(Wrapper<T> queryWrapper);
多查询List:
// 查询所有
👍List<T> list(null);
// 查询列表
👍List<T> list(Wrapper<T> queryWrapper);
// 查询(根据ID 批量查询)
Collection<T> listByIds(Collection<? extends Serializable> idList);
// 查询(根据 columnMap 条件)
Collection<T> listByMap(Map<String, Object> columnMap);
// 查询所有列表
List<Map<String, Object>> listMaps();
// 查询列表
List<Map<String, Object>> listMaps(Wrapper<T> queryWrapper);
// 查询全部记录
List<Object> listObjs();
// 根据 Wrapper 条件,查询全部记录
List<Object> listObjs(Wrapper<T> queryWrapper);
Count :
// 查询总记录数
👍count(null);
// 根据 Wrapper 条件,查询总记录数
👍int count(Wrapper<T> queryWrapper);