很多工程中都会遇到从多表中查询结果,然后将结果集封装到自己定义的临时类当中去。我现在做的一个项目也是这样的。
具体代码如下: (说明下,我现在数据库中的表全部没有设置外键,纯手工控制与设置、操作)
List<ClassPlan> planInfos = new ArrayList<ClassPlan>();//定义存储临时类的集合
//获取查询的结果集,结果集的类型说穿了就是存放一个Object数组的Object对象而已(注意不能通过强制转换)
List Infos = getHibernateTemplate()
.find(
"select course.courseName,plan.onlineClassId,plan.onlineCourseName,teacher.memo,classroom.classroomName from TbCourseInfo as course,TbCoursePlanInfo as plan,TbOnlineClassroomInfo as classroom,TbTeacherCourse as teacher where course.courseId = plan.courseId and plan.classroomId = classroom.classroomId and course.courseId = teacher.courseId");
for (int i = 0; i < Infos.size(); i++) {
Object[] objs = (Object[]) Infos.get(i);
ClassPlan plan = new ClassPlan();//自定义的临时封装类
plan.setClassName((String) objs[0]);
plan.setClassTeacher((String) objs[1]);
plan.setCourseName((String) objs[2]);
plan.setRoomNo((String) objs[3]);
plan.setState((String) objs[4]);
planInfos.add(plan);
}
return planInfos;
如上 简单明了!