java的dao層如何返回多個list
阿新 • • 發佈:2018-11-30
比如一個場景
我要這樣展示(相同的元素只要展示一次)
前臺是這樣寫的
el表示式是不能對資料進行處理的,所以資料有重複的那麼就一定會顯示出來
所以,考慮,能不能直接在dao中查詢的時候直接返回三個list,這樣前臺直接取就行了
搜了一下,有類似需求
看起來是可以實現的,那麼現在再新建兩個查詢,去重查出省份,去重查出行政區
語句
DISTINCT 是去重
province!=""是排除改欄位的空值
SELECT DISTINCT province FROM t_ball WHERE province!="";
折騰了半天,不會組合這個hql語句,放棄
換一種寫法
String hql = "from BallModel"; Query query = session.createQuery(hql); List<BallModel> ballList = query.list(); String hql2 = "from BallModel group by province HAVING(COUNT(province)>=1)"; Query query2 = session.createQuery(hql2); List<String> provinceList = query2.list(); String hql3 = "from BallModel group by origion HAVING(COUNT(origion)>=1)"; Query query3 = session.createQuery(hql3); List<String> origionList = query3.list();
然後把list put進map
然後controller這樣寫
實現結果