前言:dwz中,从view到controller再到model,对于查询条件,dwz将其封装到BaseConditionVO对象中,通过这个对象对前端提交的查询条件和mybatis中的xml进行关联,但是原始的对象类型并不好用,我们按照下面的方法改造一下,你将得到快乐的体验。
第一步:改造BaseConditionVO,见如下方式,增加了一个map对参数进行存储,在controller中通过addParams进行放入,在mybatis的xml中通过ps.xxxx取出
/** * @Fields ps : 对参数类型进行封装. */ private Map<String, Object> ps = new HashMap<String, Object>(); /** * @Title: addParams * @Description: 添加查询条件 * @param key * @param value */ public void addParams(String key, Object value) { this.getPs().put(key, value); } /** * @return the ps */ public Map<String, Object> getPs() { return ps; } /** * @param ps * the ps to set */ public void setPs(Map<String, Object> ps) { this.ps = ps; }
第二步:查询条件的使用,在controller的条件转换中直接使用以下代码
// 设置查询条件
vo.addParams("vuid", StrUtil.getUTF8String(request.getParameter("vuid")));
第三步:在mybatis的xml中使用以下方式进行取出
<if test="ps.vuid != ''">and u.username like concat('%','${ps.vuid}','%')</if>