JavaBean里边的引用类型怎么从数据库取值

李亚威 2014-07-20 10:59:39
我现在有
学生表(学号、姓名、班号、专业号、系号)
班级表(班号、班名、专业号、系号)
专业表(专业号、专业名、系号)
系表(系号、系名),
然后javabean这样:
public class Student {
private int studentId;
private String studentName;
private int studentClassId;
private int studentSpecialtyId;
private int studentDepartmentId;
private Classes classes;
private Specialty specialty;
private Department department;
}
public class Classes {

private int classId;
private String className;
private int specialtyId;
private int departmentId;
private Specialty specialty;
private Department department;
private ArrayList<Student> students;
}
public class Specialty {

private int specialtyId;
private String specialtyName;
private int specialtyDepartmentId;
private Department department;
private ArrayList<Student> students;
private ArrayList<Classes> classes;
}
public class Department {

private int departmentid;
private String departmentName;
private ArrayList<Student> students;
private ArrayList<Specialty> specialties;
private ArrayList<Classes> classes;
}
然后我怎么用DBUtil查询出学生的信息。也就是说怎么给student里边的classes、specialty、department赋值。
还是我这样的数据库设计有问题。


...全文
400 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
李亚威 2014-07-22
  • 打赏
  • 举报
回复
引用 10 楼 ysf999 的回复:
引用
我现在有 学生表(学号、姓名、班号、专业号、系号) 班级表(班号、班名、专业号、系号) 专业表(专业号、专业名、系号) 系表(系号、系名), 然后javabean这样: public class Student { private int studentId; private String studentName; private int studentClassId; private int studentSpecialtyId; private int studentDepartmentId; private Classes classes; private Specialty specialty; private Department department; } public class Classes { private int classId; private String className; private int specialtyId; private int departmentId; private Specialty specialty; private Department department; private ArrayList<Student> students; } public class Specialty { private int specialtyId; private String specialtyName; private int specialtyDepartmentId; private Department department; private ArrayList<Student> students; private ArrayList<Classes> classes; } public class Department { private int departmentid; private String departmentName; private ArrayList<Student> students; private ArrayList<Specialty> specialties; private ArrayList<Classes> classes; } 然后我怎么用DBUtil查询出学生的信息。也就是说怎么给student里边的classes、specialty、department赋值。 还是我这样的数据库设计有问题。
反正你是用的DBUtil 那只要设计好你的sql语句问题就不好太大 可以用left join 例如: select T.*,T1.className from student T left join Classes T1 on T1.classId=T.studentClassId 不知是否对你有用
我创建了视图,外键相关联的属性放到了视图里,但是现在又不知道怎么更新视图了
ysf999 2014-07-22
  • 打赏
  • 举报
回复
引用
我现在有 学生表(学号、姓名、班号、专业号、系号) 班级表(班号、班名、专业号、系号) 专业表(专业号、专业名、系号) 系表(系号、系名), 然后javabean这样: public class Student { private int studentId; private String studentName; private int studentClassId; private int studentSpecialtyId; private int studentDepartmentId; private Classes classes; private Specialty specialty; private Department department; } public class Classes { private int classId; private String className; private int specialtyId; private int departmentId; private Specialty specialty; private Department department; private ArrayList<Student> students; } public class Specialty { private int specialtyId; private String specialtyName; private int specialtyDepartmentId; private Department department; private ArrayList<Student> students; private ArrayList<Classes> classes; } public class Department { private int departmentid; private String departmentName; private ArrayList<Student> students; private ArrayList<Specialty> specialties; private ArrayList<Classes> classes; } 然后我怎么用DBUtil查询出学生的信息。也就是说怎么给student里边的classes、specialty、department赋值。 还是我这样的数据库设计有问题。
反正你是用的DBUtil 那只要设计好你的sql语句问题就不好太大 可以用left join 例如: select T.*,T1.className from student T left join Classes T1 on T1.classId=T.studentClassId 不知是否对你有用
zy_think123 2014-07-20
  • 打赏
  • 举报
回复
如果你的Dao层是Hibernate,然后你再程序中设置了级联并且是一对多,这种会自动给你封装好,但是你用的是Dbutils的话,那么你就自己写sql代码,查询好了,然后慢慢封装吧!
Defonds 2014-07-20
  • 打赏
  • 举报
回复
你的 dao 层是什么框架
李亚威 2014-07-20
  • 打赏
  • 举报
回复
引用 8 楼 li11377963 的回复:
引用 7 楼 zy353003874 的回复:
[quote=引用 5 楼 li11377963 的回复:] [quote=引用 2 楼 zy353003874 的回复:] 如果你的Dao层是Hibernate,然后你再程序中设置了级联并且是一对多,这种会自动给你封装好,但是你用的是Dbutils的话,那么你就自己写sql代码,查询好了,然后慢慢封装吧!
我在数据库创建视图行吧,今天刚问的
试图可以,但是返回的数据也不会自动给你封装成对象,你还是需要自己封装[/quote]我创建视图bean,然后把视图里的信息封装到里边[/quote]你说我这样是不是绕远,还不如直接把那些名字放入学生表里呢,直接封装不就行了。
李亚威 2014-07-20
  • 打赏
  • 举报
回复
引用 7 楼 zy353003874 的回复:
引用 5 楼 li11377963 的回复:
[quote=引用 2 楼 zy353003874 的回复:] 如果你的Dao层是Hibernate,然后你再程序中设置了级联并且是一对多,这种会自动给你封装好,但是你用的是Dbutils的话,那么你就自己写sql代码,查询好了,然后慢慢封装吧!
我在数据库创建视图行吧,今天刚问的
试图可以,但是返回的数据也不会自动给你封装成对象,你还是需要自己封装[/quote]我创建视图bean,然后把视图里的信息封装到里边
zy_think123 2014-07-20
  • 打赏
  • 举报
回复
引用 5 楼 li11377963 的回复:
引用 2 楼 zy353003874 的回复:
如果你的Dao层是Hibernate,然后你再程序中设置了级联并且是一对多,这种会自动给你封装好,但是你用的是Dbutils的话,那么你就自己写sql代码,查询好了,然后慢慢封装吧!
我在数据库创建视图行吧,今天刚问的
试图可以,但是返回的数据也不会自动给你封装成对象,你还是需要自己封装
天丁o 2014-07-20
  • 打赏
  • 举报
回复
学生表(学号、姓名、班号、专业号、系号) 班级表(班号、班名、专业号、系号) 专业表(专业号、专业名、系号) 系表(系号、系名) 表设计没问题,你的思路是怎样的!!! 学生表本身就带有classes、specialty、department 字段, 那javabean跟表对应上直接取出来不就行了。 说到赋值:添加学生的时候是不是得选择学生所属系部、专业、班级呢, 此时不就赋值啦
李亚威 2014-07-20
  • 打赏
  • 举报
回复
引用 2 楼 zy353003874 的回复:
如果你的Dao层是Hibernate,然后你再程序中设置了级联并且是一对多,这种会自动给你封装好,但是你用的是Dbutils的话,那么你就自己写sql代码,查询好了,然后慢慢封装吧!
我在数据库创建视图行吧,今天刚问的
李亚威 2014-07-20
  • 打赏
  • 举报
回复
引用 1 楼 defonds 的回复:
你的 dao 层是什么框架
用的JDBC,我在数据库里创建视图就行了吧
李亚威 2014-07-20
  • 打赏
  • 举报
回复
引用 楼主 li11377963 的回复:
我现在有 学生表(学号、姓名、班号、专业号、系号) 班级表(班号、班名、专业号、系号) 专业表(专业号、专业名、系号) 系表(系号、系名), 然后javabean这样: public class Student { private int studentId; private String studentName; private int studentClassId; private int studentSpecialtyId; private int studentDepartmentId; private Classes classes; private Specialty specialty; private Department department; } public class Classes { private int classId; private String className; private int specialtyId; private int departmentId; private Specialty specialty; private Department department; private ArrayList<Student> students; } public class Specialty { private int specialtyId; private String specialtyName; private int specialtyDepartmentId; private Department department; private ArrayList<Student> students; private ArrayList<Classes> classes; } public class Department { private int departmentid; private String departmentName; private ArrayList<Student> students; private ArrayList<Specialty> specialties; private ArrayList<Classes> classes; } 然后我怎么用DBUtil查询出学生的信息。也就是说怎么给student里边的classes、specialty、department赋值。 还是我这样的数据库设计有问题。
用的JDBC

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧