0 0

问个关于jdbc的问题5

描述如下:
有一个教室表,一个学生表,和一个椅子表,教室和学生是一对多的关系,教室和椅子也是一对多的关系

现数据库中有多个教室,要查出带有10个椅子的教室和学生的列表,得到的是一个List<Classroom>其中每个classroom里边还有一个List<Student>。



问题补充:
sy197661944 写道
假设
椅子表:
<chairTable>
chairId : 椅子的ID,主键
classId : 教室的ID,外键
---------------------------
教室表:
<classTable>
classId : 教室的ID,主键
--------------------------
学生表:
<studentTable>
studentId: 学生的ID,主键
classId : 教室的ID,外键
---------------------------

sql:

select classId from classTable clt join
(
select count(1) as c , classId from chairTable group classId
)  cht
on clt.classId = cht.classId
where cht.c = 10


这样就查出了,椅子为10把的教室,关联的学生的list对象取得是靠持久层代码做到的,
比如hibernate,大概是这样滴..........


就是要脱离hibernate实现hibernate这个功能。。

问题补充:
sy197661944 写道
引用

就是要脱离hibernate实现hibernate这个功能。。


那就自己写呗,
classBean.java
String classId;
List<StudentBean> ;

根据上面的SQL可以拿到List<ClassId>(即有10把椅子的教室的list),然后遍历一下,每个classid都去查一下

queryForList("select studentId from studentTable where classId = ?");
得到某个教室的学生的list了吧,把这个list到那个classBean里,多个classBean,不就是你要的List<ClassBean>了?

这样不行的,我想用一个sql 来实现,遍历会连接很多次数据库
这个问题我已经解决了,不过还是要谢谢你啊
DAO 
2011年10月19日 10:16

5个答案 按时间排序 按投票排序

0 0

引用

我想用一个sql 来实现?


那就是把符合条件的student所有记录取出来,放到一个list里,然后再去拆分list,创造List<classBean> ?

有别的办法么?告诉下.

2011年10月19日 18:44
0 0

引用

就是要脱离hibernate实现hibernate这个功能。。


那就自己写呗,
classBean.java
String classId;
List<StudentBean> ;

根据上面的SQL可以拿到List<ClassId>(即有10把椅子的教室的list),然后遍历一下,每个classid都去查一下

queryForList("select studentId from studentTable where classId = ?");
得到某个教室的学生的list了吧,把这个list到那个classBean里,多个classBean,不就是你要的List<ClassBean>了?

2011年10月19日 14:01
0 0

假设
椅子表:
<chairTable>
chairId : 椅子的ID,主键
classId : 教室的ID,外键
---------------------------
教室表:
<classTable>
classId : 教室的ID,主键
--------------------------
学生表:
<studentTable>
studentId: 学生的ID,主键
classId : 教室的ID,外键
---------------------------

sql:

select classId from classTable clt join
(
select count(1) as c , classId from chairTable group classId
)  cht
on clt.classId = cht.classId
where cht.c = 10


这样就查出了,椅子为10把的教室,关联的学生的list对象取得是靠持久层代码做到的,
比如hibernate,大概是这样滴..........

2011年10月19日 12:23
0 0

椅子和学生也是多对一?

2011年10月19日 11:48
0 0

问题在哪里?

2011年10月19日 11:32

相关推荐

Global site tag (gtag.js) - Google Analytics