通用查询

首先在前台设置一个var params = new Object();
将参数用对象属性的方式记录、传递

/**
 * 获取查询条件参数
 *
 * @param params
 * @returns
 */
function getParams(params) {
params.pageNow = fenye_pageNow;
params.eachPageNums = fenye_eachPageNums;
params.paixuziduan = fenye_paixuziduan;
params.paixuleixing = fenye_paixuleixing;
params.batchid = "";
params.xhgh =  $("#xhgh").val();
params.yxdm =  $("#yx").val();
params.zydm =  $("#zy").val();
params.xm =  $("#xm").val();
return params;
}
 后台设定一个实体类
private String confidential;/*论文是否涉密,0,1*/
public String getConfidential() {
return confidential;
}
public void setConfidential(String confidential) {
this.confidential = confidential;
}
 /**
 * 把request中的参数封装到指定的bean中
 * 
 * @param request
 * @param obj
 * @return Object
 * @Title: packReturnByRequest
 */
public static Object packReturnByRequest(HttpServletRequest request,
Object obj) {
Map<String, Object> keyMap = findKeyMapByRequest(request);
Field field = null;
Set<String> keys = keyMap.keySet();
for (String key : keys) {
try {
field = obj.getClass().getDeclaredField(key);
Class<?> beanType = field.getType();
Object value = keyMap.get(key);
String setMethodName = "set"
+ key.substring(0, 1).toUpperCase() + key.substring(1);
Method m;
m = obj.getClass().getMethod(setMethodName, beanType);
m.invoke(obj, value);
} catch (Exception e1) {
continue;
}
}
return obj;
}
通过实体类拼接查询条件
 /**
 * 获取查询条件
 * @return
 */
public static String  getQueryBean(List<Object> params,QueryBean queryBean){
StringBuffer sql = new StringBuffer();
 
if(queryBean.getConfidential()!=null){
sql.append(" and A.confidential=? ");
params.add(queryBean.getConfidential());
}
if(queryBean.getApply()!=null){
sql.append(" and A.apply=? ");
params.add(queryBean.getApply());
}
return sql.toString();
}

posted on 2015-06-16 20:45  天天海海  阅读(55)  评论(0)    收藏  举报

导航