MyBatis 用户如何定制增强ResultSet?

MyBatis 用户可以通过自定义 ResultHandler 来定制和增强 ResultSet。
具体实现方式是:

  1. 实现接口 ResultHandler:
public interface ResultHandler {  
  void handleResult(ResultContext context);
}
  1. 实现 handleResult() 方法:
public void handleResult(ResultContext context) {  
  ResultSet rs = context.getResultSet();
  // ... 处理rs,做增强处理
  while (rs.next()) {
     // ... 
  }
}
  1. 在 SQL 映射中使用:
<select id="selectAllUsers" resultHandler="com.itzhimei.MyResultHandler">
  select * from users
</select>
  1. 在 Java 代码中调用:
sqlSession.selectList("selectAllUsers", null);
  1. MyBatis 会调用自定义的 ResultHandler 处理结果集。
    这样用户就可以:
  • 在程序中读取 ResultSet 而不是映射为对象。
  • 实现多ResultSet返回。
  • 实现缓存 ResultSet 等功能。

从而对原生的 ResultSet 进行增强处理。