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这样写
实现结果