【发布时间】:2012-09-23 00:07:50
【问题描述】:
所以我有这个 sql 查询:
"select company, surveys.surveyID, questionID, question, questionScore FROM surveys INNER JOIN (SELECT * FROM companies INNER JOIN "
+ "(SELECT * FROM questions INNER JOIN categories "
+ "ON questions.catID = categories.catID) AS cats "
+ "ON companies.questionID = cats.questionID) AS yes "
+ "ON yes.surveyID = surveys.surveyID WHERE company=?"
“猫”和“是”没有任何意义,只是我极其冗长的命名方案的牺牲品。
company 只是一个字符串。
它返回的表格如下所示:
---------------------------------------------
|companyName|surveyID|questionID|questionScore|
---------------------------------------------
此表的主键是 (companyName,surveyID AND QuestionID),因为每个公司可以有多个调查,每个调查都有多个问题。
那我有这个课:
public class Company
{
private String companyName;
private String surveyorName;
private String surveyorTitle;
private int surveyID;
private Map<Integer,Integer> questions;
public Company(String name, String surveyor, String surveyerTitle,
int surveyID, Map<Integer, Integer> questions)
{
this.companyName = name;
this.surveyorName = surveyor;
this.surveyorTitle = surveyerTitle;
this.surveyID = surveyID;
this.questions = questions;
}
拥有所有的getter和setter
例如,假设有一家 Mens Insamen 公司。调查 ID 为 1。 所以
Mens Insamen 1 q1 3
Mens Insamen 1 q2 1
等等……
现在我需要使用来自 sql 查询的数据填充公司对象列表。我已经尝试了一段时间,但无法真正想出任何东西。
如果(不出所料)不清楚(fokol(no)咖啡),我可以在某个时候改进它。
提前致谢
【问题讨论】:
-
您确实应该展示了代表您尝试执行此操作的代码。无论如何,这只是一堆样板代码。
-
我不确定我是否关注?你能用java做sql查询吗?您已经有了一个查询、结果是什么以及一个对象。您可以进行查询,并为每个结果创建一个对象,填充它,然后将其放入您的列表中。你在哪里卡住了?