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() ;
try(SqlSession sqlSession = sqlOperator.getSession()){
CmxMapper mapper = sqlSession.getMapper(CmxMapper.class);
mapper.pageListFetch(param,resultHandler);
}catch(Exception e){
log.error("异常",e)
}
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>