首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中处理泛型列表List<MyClass>以特殊方式获取结果集

如何在java中处理泛型列表List<MyClass>以特殊方式获取结果集
EN

Stack Overflow用户
提问于 2014-06-24 14:24:46
回答 2查看 70关注 0票数 0

我喜欢为一家公司制作数据库驱动的常见问题解答,我有一个带变量的Faq.java类

1.faqUid 2.faqQuery 3.faqAnswer 4.companyUserRole

因此,我通过dao从数据库中获取结果,因为你们所有人都创建了list<>数据类型

代码语言:javascript
复制
private List<Faq> fetchFaqs;
fetchFaqs = faqService.fetchRnrFaq(rnrUser);

现在,fetchFaqs是一个具有faq.java中指定的数据类型的通用列表。

现在假设我从数据库中获取数据,比如

骨架:

faqUid | faqQuestion | faqAnswer | companyUserRole

数据:

1| question1 | question2 |超级管理员

2| question1 | question2 |群组管理

3| question1 | question2 |用户

如你所见,对于所有三种类型的角色,即超级管理员、组管理员和用户,我都有相同的问题和答案。

当我正常获取时,我会得到

频频问答

Q.1问题1

A.1答案1

Q.2问题2

A.2答案2

Q.3问题3

A.3答案3

我想要获取的是

常见问题(超级管理员)

Q.1问题1

A.1答案1

常见问题(组管理员)

Q.1问题1

A.1答案1

常见问题(用户)

Q.1问题1

A.1答案1

我如何实现它?

PS。没有什么是硬编码的,一切都是数据库驱动的

faq.java类

代码语言:javascript
复制
private String faqQuestion;
private String faqAnswer;
private String faqUid;
private String userRoleName;

有各自的getter和setter

EN

回答 2

Stack Overflow用户

发布于 2014-06-24 14:30:39

根据companyUserRole字段对结果进行分组(例如,在Map中),并处理每种类型的结果。

票数 0
EN

Stack Overflow用户

发布于 2014-06-24 14:39:06

我假设您的Faq类包含数据库中的所有字段,并且您可以修改查询。获取所需内容的最简单方法是使用ORDER BY companyUserRole对查询进行排序。然后你可以像这样处理(伪代码):

代码语言:javascript
复制
currentRole = "";

for(Faq faq: fetchFaqs) {
    if ! currentRole.equals(faq.role) {
        currentRole = faq.role
        display_new_role_group_header()
    display_faq(faq)

这样的话:

  • 您正确地在每个组顶部显示标题
  • 您的问题/答案按角色分组显示
  • 您只向数据库发送一个查询
  • 角色列表是数据库驱动的

<

  • >F211>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24379678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档