1. 程式人生 > >java的dao層如何返回多個list

java的dao層如何返回多個list

比如一個場景

我要這樣展示(相同的元素只要展示一次)

前臺是這樣寫的

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這樣寫

實現結果