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结果
- 合并多个结果集
- 自定义映射逻辑
- 过滤结果