MyBatis Plus的BaseRowMapper能干什么?

Mybatis Plus的BaseRowMapper提供了基础的结果集映射功能。主要功能包括:

1. 映射为实体类型

List<User> list = BaseRowMapper.instance.map(resultSet); 

将结果集映射为User类型的List。
默认会映射表中所有字段。

2. 映射指定字段

List<Map<String, Object>> list = BaseRowMapper.instance.mapColumns(resultSet, "id", "name");

只映射id和name两个字段,结果为MapList。

3. 结果集拼装

List<Object> list = BaseRowMapper.instance.assemble(result);

将多个结果集合并成一个List。

4. 自定义映射

public class UserRowMapper implements RowMapper<User> {

    public User mapRow(ResultSet rs, int rowNum) {
       User user = new User();
       user.setId(rs.getLong("id"));
       return user;
    }
}

实现RowMapper接口,自定义映射逻辑。

然后可以:

List<User> list = BaseRowMapper.instance.map(resultSet, new UserRowMapper());

使用自定义的RowMapper。

5. 结果过滤

List<User> list = BaseRowMapper.instance.filter(rs, new Filter<User>() { ... });  

过滤结果集,只返回满足条件的结果。

通过这些功能,BaseRowMapper可以:

  • 映射为实体类型结果
  • 映射指定字段为Map结果
  • 合并多个结果集
  • 自定义映射逻辑
  • 过滤结果