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