MyBatis-Plus 提供了一套简化 CRUD(Create, Read, Update, Delete)操作的接口,使数据库操作更加便捷。这些接口是在 BaseMapper 接口的基础上进行扩展的,以下是 MyBatis-Plus 的 CRUD 接口及其常用方法:

1. 插入操作

  •  int insert(T entity): 插入一条记录,返回影响行数。

User user = new User();
user.setName("John");
user.setAge(25);
userMapper.insert(user);

2. 更新操作

  •  int updateById(T entity): 根据主键更新记录,返回影响行数。

User user = new User();
user.setId(1L);
user.setName("UpdatedName");
userMapper.updateById(user);

3. 删除操作

  •  int deleteById(Serializable id): 根据主键删除记录,返回影响行数。

userMapper.deleteById(1L);

  •  int deleteBatchIds(Collection<? extends Serializable> idList): 根据多个主键批量删除记录,返回影响行数。

List<Long> idList = Arrays.asList(1L, 2L, 3L);
userMapper.deleteBatchIds(idList);

  •  int delete(Wrapper<T> queryWrapper): 根据条件删除记录,返回影响行数。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
userMapper.delete(queryWrapper);

4. 查询操作

  •  T selectById(Serializable id): 根据主键查询记录,返回单个实体。

User user = userMapper.selectById(1L);

  •  List<T> selectBatchIds(Collection<? extends Serializable> idList): 根据多个主键批量查询记录,返回实体列表。

List<Long> idList = Arrays.asList(1L, 2L, 3L);
List<User> userList = userMapper.selectBatchIds(idList);

  •  List<T> selectList(Wrapper<T> queryWrapper): 根据条件查询记录,返回实体列表。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
List<User> userList = userMapper.selectList(queryWrapper);

  •  List<Map<String, Object>> selectMaps(Wrapper<T> queryWrapper): 根据条件查询记录,返回 Map 列表。

QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
List<Map<String, Object>> userMapList = userMapper.selectMaps(queryWrapper);

  •  IPage<T> selectPage(IPage<T> page, Wrapper<T> queryWrapper): 分页查询记录,返回分页对象。

Page<User> page = new Page<>(1, 10); // 第1页,每页10条记录
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("age", 25);
IPage<User> userPage = userMapper.selectPage(page, queryWrapper);

这些接口提供了常见的数据库操作方法,使得开发者无需手动编写 SQL 语句,大大简化了数据访问层的开发工作。同时,MyBatis-Plus 还提供了条件构造器、自动填充、逻辑删除等功能,进一步提高了开发效率。在使用这些接口时,注意了解 MyBatis-Plus 的文档和示例,以充分发挥其强大功能。


转载请注明出处:http://www.pingtaimeng.com/article/detail/7045/MyBatis