当涉及 MyBatis 的通用 Mapper 和 MyBatis-Plus 中的自带 Mapper 方法时,主要关注的是基于继承的方式来实现数据库操作。这两种方式都可以极大地简化 CRUD 操作,减少手动编写 SQL 语句的工作量。以下是对 MyBatis 通用 Mapper 和 MyBatis-Plus 中的自带 Mapper 方法以及方法返回值的详细介绍
MyBatis 通用 Mapper 是基于注解和继承的方式来实现数据库操作的工具。通过继承通用 Mapper 提供的基础 Mapper 接口,可以直接使用其中定义的常用方法。
常见的自带 Mapper 方法
List<User> userList = userMapper.selectAll();
User user = userMapper.selectByPrimaryKey(1);
User newUser = new User();
newUser.setName("John");
newUser.setAge(25);
int rowsInserted = userMapper.insert(newUser);
int rowsInserted = userMapper.insertSelective(newUser);
int rowsUpdated = userMapper.updateByPrimaryKey(updatedUser);
int rowsUpdated = userMapper.updateByPrimaryKeySelective(updatedUser);
int rowsDeleted = userMapper.deleteByPrimaryKey(1);
MyBatis-Plus 是 MyBatis 的增强工具,提供了更多的功能和自带的方法。通过继承 BaseMapper 接口,可以使用其中定义的自带方法。
常见的 MyBatis-Plus 自带方法
User newUser = new User();
newUser.setName("John");
newUser.setAge(25);
boolean success = userMapper.insert(newUser);
int rowsUpdated = userMapper.updateById(updatedUser);
int rowsDeleted = userMapper.deleteById(1);
User user = userMapper.selectById(1);
List<User> userList = userMapper.selectList(null); // 参数为 Wrapper 条件封装对象,这里传入 null 表示查询所有
Page<User> page = new Page<>(1, 10);
IPage<User> userPage = userMapper.selectPage(page, null); // 参数为 Wrapper 条件封装对象,这里传入 null 表示查询所有
List<User> userList = userPage.getRecords(); // 分页查询结果
int totalCount = userMapper.selectCount(null); // 参数为 Wrapper 条件封装对象,这里传入 null 表示查询所有
在 MyBatis 通用 Mapper 和 MyBatis-Plus 中,这些自带 Mapper 方法的返回值通常为整数或布尔值,表示受影响的行数或操作是否成功,或者是查询到的实体对象、集合,或分页对象。开发者可以根据具体的业务需求,选择适合的方法并处理返回值,从而实现更高效、方便的数据库操作。