在 MyBatis-Plus 中,Mapper 层的核心是 BaseMapper 接口。只要你的 Mapper 接口继承了它,就可以零 XML 直接使用以下内置的 CRUD 方法。
为了与 Service 层(如 getOne、list)区分,Mapper 层的方法命名更贴近原生 SQL 操作,通常以 select、insert、update、delete 为前缀。

以下是 Mapper 层最常用的方法分类整理:

新增操作 (Insert)

  • insert(T entity):插入一条记录。支持主键自动填充(如雪花算法、自增),插入后会自动回显主键值。

删除操作 (Delete)

  • deleteById(Serializable id):根据主键 ID 删除单条记录。
  • deleteBatchIds(Collection<? extends Serializable> idList):根据 ID 集合批量删除记录。
  • delete(Wrapper wrapper):根据条件构造器(Wrapper)动态删除符合条件的记录。
  • deleteByMap(Map<String, Object> columnMap):根据 Map 中的键值对作为条件进行删除。

修改操作 (Update)

  • updateById(T entity):根据主键 ID 更新记录。默认只更新实体中非 null 的字段。
  • update(T entity, Wrapper updateWrapper):根据条件构造器更新。第一个参数为实体(可为 null),第二个参数为 Wrapper 条件。

查询操作 (Select)

  • selectById(Serializable id):根据主键 ID 查询单条记录。
  • selectBatchIds(Collection<? extends Serializable> idList):根据 ID 集合批量查询。
  • selectOne(Wrapper queryWrapper):根据条件查询单条记录。注意:如果查出多条数据会抛出异常。
  • selectList(Wrapper queryWrapper):根据条件构造器查询列表。
  • selectCount(Wrapper queryWrapper):根据条件查询总记录数。
  • selectPage(IPage page, Wrapper queryWrapper):分页查询(需配合 MyBatis-Plus 的分页插件使用)。
  • selectMaps(Wrapper queryWrapper):根据条件查询全部记录,但将结果映射为 Map<String, Object> 集合。
  • selectObjs(Wrapper queryWrapper):根据条件查询全部记录,但只返回第一个字段的值列表。

以下是 Mapper 层常用方法的返回值类型及说明:

  • 查询操作 (Select)
    查询操作的返回值最为丰富,主要取决于你的业务需求
  • 其他
    表示受影响的行数 int类型

💡 开发建议:
对于增、删、改操作,建议养成检查返回值的习惯。例如在执行 updateById 后判断返回值是否为 0,以此来确认操作是否真正生效,避免产生静默失败。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐