1、实现ResultHandler类
public class MyResultHandler implements ResultHandler { private List<Cmx> rest=new ArrayList<>(); @Override public void handleResult(ResultContext resultContext) { //查询的数据会在这里处理 rest.add((Cmx)resultContext.getResultObject()); } public List<Cmx> getRest() { return rest; } }
2.service
List<Cmx> pageListFetch(CmxQuery query); 实现类
@Override public List<Cmx> pageListFetch(CmxQuery query) { return CmxDao.pageListFetch(query); }
dao --因为框架的原因会多一层,正常这里应该是在service里面
@Override public List<Cmx> pageListFetch(CmxQuery query) { Map<String, Object> param = new HashMap<>(); param.put("status",query.getStatus()); param.put("locType",query.getLocType()); param.put("startTime",query.getStartTime()); param.put("loc",query.getLoc()); MyResultHandler resultHandler= new MyResultHandler() ; SqlSession sqlSession = sqlOperator_hub.getSession(); CmxMapper mapper = sqlSession.getMapper(CmxMapper.class); mapper.pageListFetch(param,resultHandler); return resultHandler.getRest(); }
mapper
void pageListFetch(Map<String, Object> param, MyResultHandler resultHandler);
map.xml
<select id="pageListFetch" parameterType="java.util.HashMap" resultType="com.Cmx" fetchSize="500" > SELECT DISTINCT item,loc,item_spec AS itemSpec FROM cmx <include refid="where"/> </select>