比如一个场景

我要这样展示(相同的元素只要展示一次)

java的dao层如何返回多个list

前台是这样写的

java的dao层如何返回多个list

el表达式是不能对数据进行处理的,所以数据有重复的那么就一定会显示出来

所以,考虑,能不能直接在dao中查询的时候直接返回三个list,这样前台直接取就行了

搜了一下,有类似需求

java的dao层如何返回多个list

 

看起来是可以实现的,那么现在再新建两个查询,去重查出省份,去重查出行政区

语句

DISTINCT 是去重
province!=""是排除改字段的空值
SELECT DISTINCT province FROM t_ball WHERE province!="";

 

java的dao层如何返回多个list

折腾了半天,不会组合这个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

java的dao层如何返回多个list

然后controller这样写

java的dao层如何返回多个list

实现结果

java的dao层如何返回多个list

 

相关文章:

  • 2022-12-23
  • 2021-12-01
  • 2022-12-23
  • 2021-10-02
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-10
  • 2021-06-02
  • 2022-12-23
  • 2022-01-18
  • 2021-11-25
相关资源
相似解决方案