????????????????????????
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了????????????????????????相关的知识,希望对你有一定的参考价值。
?????????
????????????????????????
1??? ???baseDao???baseDaoImpl??????????????????findObjects(String hql, List<Object> parameters)
2??? ???service???serviceImpl?????????baseDao????????????????????????
3??? ???action??????service????????????findObjects(String hql, List<Object> parameters)??????????????????
4??? ??????listUI.jsp?????????????????????
????????????-???????????????QueryHelper
???????????????????????????QueryHelper?????????????????????????????????hql???????????????????????????????????????????????????service??????????????????????????????????????????????????????
??? QueryHelper(Class clazz, String alias) ????????????????????????from ??????
??? addCondition(String condition, Object... param) ??????where??????
??? addOrderByProperty(String property, String order) ??????order by ??????
??? getListQueryHql() ?????????????????????hql
??? getCountQueryHql() ???????????????????????????hql
??? getParameters() ??????????????????
??????????????????
1 package cn.itcast.core.utils; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 public class QueryHelper { 7 8 //from ?????? 9 private String fromClause = ""; 10 //where ?????? 11 private String whereClause = ""; 12 //order by ?????? 13 private String orderByClause = ""; 14 15 //where ???????????????????????????? 16 private List<Object> parameters; 17 18 public static String ORDER_BY_ASC = "ASC";//?????? 19 public static String ORDER_BY_DESC = "DESC";//?????? 20 21 /** 22 * ????????????????????????from?????? 23 * @param clazz ????????? 24 * @param alias ?????? 25 */ 26 public QueryHelper(Class clazz, String alias){ 27 fromClause = "FROM " + clazz.getSimpleName() + " " + alias; 28 } 29 /** 30 * ??????where?????? 31 * @param condition ?????? 32 * @param params ???????????????????????????? 33 * @return QueryHelper 34 */ 35 public QueryHelper addCondition(String condition, Object...params){ 36 if(whereClause.length() > 0){ 37 whereClause += " AND " + condition; 38 } else { 39 whereClause = " WHERE " + condition; 40 } 41 if(parameters == null){ 42 parameters = new ArrayList<Object>(); 43 } 44 for(Object param: params){ 45 parameters.add(param); 46 } 47 return this; 48 } 49 /** 50 * ??????order by ?????? 51 * @param property ??????????????? 52 * @param order ??????(asc)????????????(desc) 53 * @return QueryHelper 54 */ 55 public QueryHelper addOrderByProperty(String property, String order){ 56 if(orderByClause.length() > 0){ 57 orderByClause += "," + property + " " + order; 58 } else { 59 orderByClause += " ORDER BY " + property + " " + order; 60 } 61 return this; 62 } 63 64 //??????????????????hql?????? 65 public String getListQueryHql(){ 66 return fromClause + whereClause + orderByClause; 67 } 68 69 //???????????????????????????hql 70 public String getCountHql(){ 71 return "SELECT Count(*) " + fromClause + whereClause; 72 } 73 74 public List<Object> getParameters() { 75 return parameters; 76 } 77 }
???????????????????????????QueryHelper???baseDao??????????????????findObjects(QueryHelper qh)????????????????????????????????????
baseDao
baseDaoImpl
?????????service/serviceImpl???????????????????????????action?????????
????????????action??????????????????????????????????????????
????????????
1??? ????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????action????????????????????????????????????????????????decode
??????????????????redirectAction???????????????????????????encode:
2??? ????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
以上是关于????????????????????????的主要内容,如果未能解决你的问题,请参考以下文章