BaseMapper 中的方法

BaseMapper 中的方法:

插入

  1. int insert(T entity) - 插入一条记录。

删除

  1. int deleteById(Serializable id) - 根据主键ID删除记录。

  2. int deleteById(T entity) - 根据实体对象(ID)删除记录。

  3. int deleteByMap(Map<String, Object> columnMap) - 根据列名-值对的条件删除记录。

  4. int delete(Wrapper<T> queryWrapper) - 根据条件对象删除记录。

  5. int deleteBatchIds(Collection<?> idList) - 批量删除记录,根据主键ID列表或实体列表。

更新

  1. int updateById(T entity) - 根据主键ID更新记录。

  2. int update(T entity, Wrapper<T> updateWrapper) - 根据条件对象更新记录。

查询

  1. T selectById(Serializable id) - 根据主键ID查询一条记录。

  2. List<T> selectBatchIds(Collection<? extends Serializable> idList) - 根据主键ID列表批量查询记录。

  3. List<T> selectByMap(Map<String, Object> columnMap) - 根据列名-值对的条件查询记录。

  4. T selectOne(Wrapper<T> queryWrapper) - 根据条件对象查询一条记录。

  5. Long selectCount(Wrapper<T> queryWrapper) - 根据条件对象查询总记录数。

  6. List<T> selectList(Wrapper<T> queryWrapper) - 根据条件对象查询全部记录。

  7. List<Map<String, Object>> selectMaps(Wrapper<T> queryWrapper) - 根据条件对象查询全部记录,并返回Map列表。

  8. List<Object> selectObjs(Wrapper<T> queryWrapper) - 根据条件对象查询全部记录,并只返回第一个字段的值。

  9. <P extends IPage<T>> P selectPage(P page, Wrapper<T> queryWrapper) - 根据条件对象分页查询记录。

  10. <P extends IPage<Map<String, Object>>> P selectMapsPage(P page, Wrapper<T> queryWrapper) - 根据条件对象分页查询记录,并返回Map列表。

boolean exists(Wrapper<T> queryWrapper) - 根据条件对象判断是否存在记录。

这四个查询方法分别提供了不同的查询策略:

  1. selectById(Serializable id): 这个方法是基于主键 ID 来查询单条记录。传入一个序列化的 ID,如果存在匹配的记录,就返回该记录的实体对象;如果没有匹配的记录,则返回 null

  2. selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList): 这个方法是基于主键 ID 列表来批量查询记录。传入一个包含序列化的 ID 的集合,返回一个列表,包含与 ID 集合中所有 ID 匹配的记录的实体对象。如果没有匹配的记录,则返回空列表。

  3. selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap): 这个方法是基于列的映射来查询记录。传入一个映射,其中键是列名,值是列的值,返回一个列表,包含与所有列映射匹配的记录的实体对象。如果没有匹配的记录,则返回空列表。《就是:一个传字段名,一个传值》

  4. selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper): 这个方法是基于实体对象封装操作类来查询单条记录。传入一个 Wrapper,它封装了查询条件。如果查询结果有多条记录,会抛出异常;如果有一条记录,就返回该记录的实体对象;如果没有匹配的记录,则返回 null

  1. List<T> selectList(Wrapper<T> queryWrapper)

    此方法返回一个实体对象的列表。每个实体对象代表查询结果中的一条记录,其中包含了该记录的所有字段。这个方法更适合于当你在应用程序中需要使用记录的所有信息时使用。

    例如,如果你有一个 User 实体类,每个 User 对象会包含 idnameemail 等属性,那么 selectList 会返回 List<User>,每个 User 对象都代表查询结果中的一条用户记录。

  2. List<Map<String, Object>> selectMaps(Wrapper<T> queryWrapper)

    此方法返回一个 Map 的列表,每个 Map 代表查询结果中的一条记录,其中 Map 的键是字段名,值是字段的值。这个方法更适合于当你需要更灵活地处理查询结果时使用,比如需要转换成 JSON 或者其他数据结构。

    例如,如果查询结果中包含 idnameemail 等字段,那么 selectMaps 会返回如下结构的列表:

    [ {"id": 1, "name": "John", "email": "john@example.com"},
     {"id": 2, "name": "Jane", "email": "jane@example.com"}, 
    // ... 其他记录 ]

选择依据:

  • 如果你需要处理实体对象,并在应用程序中使用这些对象,那么 selectList 是更好的选择。
  • 如果你更倾向于处理原始数据,或者需要更灵活地处理查询结果(例如,转换字段名或值),那么 selectMaps 是更好的选择。

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值