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 表示分页查询条件
  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最好的期待,未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值