Mybatis-Plus中dao层、service封装的方法

一、service层

【添加数据:(增)】
	default boolean save(T entity); // 调用 BaseMapper 的 insert 方法,用于添加一条数据。
	boolean saveBatch(Collection<T> entityList, int batchSize); // 批量插入数据
注:
	entityList 表示实体对象集合 
	batchSize 表示一次批量插入的数据量,默认为 1000

【添加或修改数据:(增或改)】
	boolean saveOrUpdate(T entity); // id 若存在,则修改, id 不存在则新增数据
   default boolean saveOrUpdate(T entity, Wrapper<T> updateWrapper); // 先根据条件尝试更新,然后再执行 saveOrUpdate 操作
   boolean saveOrUpdateBatch(Collection<T> entityList, int batchSize); // 批量插入并修改数据 

【删除数据:(删)】
	default boolean removeById(Serializable id); // 调用 BaseMapper 的 deleteById 方法,根据 id 删除数据。
	default boolean removeByMap(Map<String, Object> columnMap); // 调用 BaseMapper 的 deleteByMap 方法,根据 map 定义字段的条件删除
	default boolean remove(Wrapper<T> queryWrapper); // 调用 BaseMapper 的 delete 方法,根据实体类定义的 条件删除对象。
	default boolean removeByIds(Collection<? extends Serializable> idList); // 用 BaseMapper 的 deleteBatchIds 方法, 进行批量删除。

【修改数据:(改)】
	default boolean updateById(T entity); // 调用 BaseMapper 的 updateById 方法,根据 ID 选择修改。
	default boolean update(T entity, Wrapper<T> updateWrapper); // 调用 BaseMapper 的 update 方法,根据 updateWrapper 条件修改实体对象。
	boolean updateBatchById(Collection<T> entityList, int batchSize); // 批量更新数据

【查找数据:(查)】
	default T getById(Serializable id); // 调用 BaseMapper 的 selectById 方法,根据 主键 ID 返回数据。
	default List<T> listByIds(Collection<? extends Serializable> idList); // 调用 BaseMapper 的 selectBatchIds 方法,批量查询数据。
	default List<T> listByMap(Map<String, Object> columnMap); // 调用 BaseMapper 的 selectByMap 方法,根据表字段条件查询
	default T getOne(Wrapper<T> queryWrapper); // 返回一条记录(实体类保存)。
	Map<String, Object> getMap(Wrapper<T> queryWrapper); // 返回一条记录(map 保存)。
	default int count(Wrapper<T> queryWrapper); // 根据条件返回 记录数。
	default List<T> list(); // 返回所有数据。
	default List<T> list(Wrapper<T> queryWrapper); // 调用 BaseMapper 的 selectList 方法,查询所有记录(返回 entity 集合)。
	default List<Map<String, Object>> listMaps(Wrapper<T> queryWrapper); // 调用 BaseMapper 的 selectMaps 方法,查询所有记录(返回 map 集合)。
	default List<Object> listObjs(); // 返回全部记录,但只返回第一个字段的值。
	default <E extends IPage<T>> E page(E page, Wrapper<T> queryWrapper); // 调用 BaseMapper 的 selectPage 方法,分页查询
	default <E extends IPage<Map<String, Object>>> E pageMaps(E page, Wrapper<T> queryWrapper); // 调用 BaseMapper 的 selectMapsPage 方法,分页查询
注:
	get 用于返回一条记录。
	list 用于返回多条记录。
	count 用于返回记录总数。
	page 用于分页查询。

【链式调用:】
	default QueryChainWrapper<T> query(); // 普通链式查询
	default LambdaQueryChainWrapper<T> lambdaQuery(); // 支持 Lambda 表达式的修改
	default UpdateChainWrapper<T> update(); // 普通链式修改
	default LambdaUpdateChainWrapper<T> lambdaUpdate(); // 支持 Lambda 表达式的修改
注:
	query 表示查询
	update 表示修改
	Lambda 表示内部支持 Lambda 写法。
形如:
	query().eq("column", value).one();
	lambdaQuery().eq(Entity::getId, value).list();
	update().eq("column", value).remove();
	lambdaUpdate().eq(Entity::getId, value).update(entity);

二、dao层

【添加数据:(增)】
	int insert(T entity);              // 插入一条记录
注:
	T         表示任意实体类型
	entity    表示实体对象

【删除数据:(删)】
	int deleteById(Serializable id);    // 根据主键 ID 删除
	int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);  // 根据 map 定义字段的条件删除
	int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper); // 根据实体类定义的 条件删除对象
	int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList); // 进行批量删除
注:
	id        表示 主键 ID
	columnMap 表示表字段的 map 对象
	wrapper   表示实体对象封装操作类,可以为 null。
	idList    表示 主键 ID 集合(列表、数组),不能为 null 或 empty

【修改数据:(改)】
	int updateById(@Param(Constants.ENTITY) T entity); // 根据 ID 修改实体对象。
	int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper); // 根据 updateWrapper 条件修改实体对象
注:
	update 中的 entity 为 set 条件,可以为 null。
	updateWrapper 表示实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句)

【查询数据:(查)】
	T selectById(Serializable id); // 根据 主键 ID 查询数据
	List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList); // 进行批量查询
	List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap); // 根据表字段条件查询
	T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 根据实体类封装对象 查询一条记录
	Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询记录的总条数
	List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询所有记录(返回 entity 集合)
	List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询所有记录(返回 map 集合)
	List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询所有记录(但只保存第一个字段的值)
	<E extends IPage<T>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询所有记录(返回 entity 集合),分页
	<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper); // 查询所有记录(返回 map 集合),分页
注:
	queryWrapper 表示实体对象封装操作类(可以为 null)
	page 表示分页查询条件
posted @ 2021-09-27 16:29  光一  阅读(1321)  评论(0编辑  收藏  举报