通常,我们处理排序规则的处理方法是在sql 语句中order by create_time desc,
但是这时我们需要从控制器中一步步找到该方法,操作多。
我们试着将业务逻辑拆分到控制器 中,
把排序规则定义在控制器中该如何写呢
xml:
1 <if test="orderByClause != null" > 2 order by ${orderByClause} 3 </if>
model:
1 protected boolean distinct; 2 3 protected String orderByClause; 4 5 public void setOrderByClause(String orderByClause) { 6 this.orderByClause = orderByClause; 7 } 8 9 public String getOrderByClause() { 10 return orderByClause; 11 } 12 13 public void setDistinct(boolean distinct) { 14 this.distinct = distinct; 15 } 16 17 public boolean isDistinct() { 18 return distinct; 19 }
控制器中代码,比如设置医院排序规则:
1 GhHospitalExample example = new GhHospitalExample(); 2 example.setOrderByClause(" b.area_num, a.SHOW_NO, nvl(a.BOOK_COUNT,0) desc, a.alias_name"); 3 return ghHospitalDao.selectByExample(example);