MyBatis-Plus 提供了 BaseMapper 接口,其中包含了一系列的 CRUD(Create, Read, Update, Delete)操作方法。这些方法是 MyBatis-Plus 对 MyBatis 的基础操作的增强和封装。以下是常用的 MyBatis-Plus Mapper 接口方法:

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);

这些方法是 MyBatis-Plus 提供的对数据库进行常规 CRUD 操作的接口。在实际开发中,你可以通过继承 BaseMapper 接口,或者使用 MyBatis-Plus 提供的 ServiceImpl 类,进一步简化数据库操作。这样,你可以更专注于业务逻辑的实现,而不用过多关注数据库底层的操作细节。


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