[code="java"]
public Page getLatest(Integer pageNo, Integer pageSize, String typeCode) {
return this.pagedQuery(hql, pageNo, pageSize, typeCode);
}
[/code]
[code="java"]
public class InformationManager extends HibernateEntityDao {
private String fromHql = "from Information as i where 1=1 ";
private String andHql = " and i.informationtype.typecode = ?";
private String ordertimeHql = " order by i.uploadtime desc"; //按时间排序
//private String orderviewHql = " order by i.uploadtime desc"; //按浏览量排序
private String timehql = fromHql + andHql + ordertimeHql;
//private String viewhql = fromHql + andHql + orderviewHql;
/*
* 最新本地新闻
*/
public Page getLatestNews(Integer pageNo, Integer pageSize) {
return this.pagedQuery(timehql, pageNo, pageSize, BDXW_CODE);
}
/*
* 最新旅游政策
*/
public Page getLatestTourPolicy(Integer pageNo, Integer pageSize) {
return this.pagedQuery(timehql, pageNo, pageSize, LYZC_CODE);
}
/*
* 最新旅游常识
*/
public Page getLatestTourSense(Integer pageNo, Integer pageSize) {
return this.pagedQuery(timehql, pageNo, pageSize, LYCS_CODE);
}
}
[/code]
前面一种写法 好处是可以减少很多方法 但是要把typeCode直接暴露在action里面
[code="java"]
spotinfoManager.getLatest(1, 5, SPOT_HISTORY_CODE).getResult();
[/code]
后面一种写法 缺点是每个字段都要写一个对应的方法,那么如果增加或减少了一个字段就需要改变service了
但它不用把typeCode暴露在action里面
[code="java"]
spotinfoManager.getLatestNews(1, 5).getResult();
[/code]
想问下那种写法会好一些?或者说还有什么其他的方法吗?