什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?

什么是实体表,什么是关系表,一对多和多对多应该怎么设计表?大家好 我是 IT 修真院深圳分院第十三期学员 一枚正直纯洁善良的 JAVA 程序员

大家好,欢迎来到IT知识分享网。

2.一对一:一个班主任只属于一个班级,一个班级也只能有一个班主任

3.一对多:一个顾客对应多个订单,而一个订单只能对应一个客户

4.多对多:一个学生有多个老师,一个老师有多个学生

3.常见问题

1)什么是实体表?

2)什么是关系表?

3)怎么设计表,多对多怎么在实际代码中表示?

package mybatisTest.pojo; import java.util.List; public class Student { private Integer stuId; private String stuName; private Integer age; private List<Teacher> teachers; public Integer getStuId() { return stuId; } public void setStuId(Integer stuId) { this.stuId = stuId; } public String getStuName() { return stuName; } public void setStuName(String stuName) { this.stuName = stuName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public List<Teacher> getTeachers() { return teachers; } public void setTeachers(List<Teacher> teachers) { this.teachers = teachers; } @Override public String toString() { return "Student{" + "stuId=" + stuId + ", stuName='" + stuName + '\'' + ", age=" + age + ", teachers=" + teachers + '}'; } } 

import java.util.List;

public Integer getTeaId() { return teaId; } public void setTeaId(Integer teaId) { this.teaId = teaId; } public String getTeaName() { return teaName; } public void setTeaName(String teaName) { this.teaName = teaName; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } @Override public String toString() { return "Teacher{" + "teaId=" + teaId + ", teaName='" + teaName + '\'' + ", gender='" + gender + '\'' + ", students=" + students + '}'; } 
package mybatisTest.dao; import mybatisTest.pojo.Student; import java.util.List; public interface StuDao { List<Student> queryStu(); } package mybatisTest.dao; 
import java.util.List; public interface TeaDao { List<Teacher> queryTea(); } 

xml文件

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mybatisTest.dao.StuDao"> <resultMap id="student" type="mybatisTest.pojo.Student"> <result property="stuId" column="stu_id"/> <result property="stuName" column="stu_name"/> <result property="age" column="stu_age"/> <collection property="teachers" ofType="mybatisTest.pojo.Teacher"> <id property="teaId" column="tea_id"/> <result property="teaName" column="tea_name"/> <result property="gender" column="gender"/> </collection> </resultMap> <select id="queryStu" resultMap="student"> select s.*,t.* from student s,teacher t,stu_tea st where s.stu_id=st.stu_id and t.tea_id=st.tea_id </select> </mapper> 

<—————————————————————————>

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="mybatisTest.dao.TeaDao"> <resultMap id="teacher" type="mybatisTest.pojo.Teacher"> <result property="teaId" column="tea_id"/> <result property="teaName" column="tea_name"/> <result property="gender" column="gender"/> <collection property="students" ofType="mybatisTest.pojo.Student"> <id property="stuId" column="stu_id"/> <result property="stuName" column="stu_name"/> <result property="age" column="stu_age"/> </collection> </resultMap> <select id="queryTea" resultMap="teacher"> SELECT t.*,s.* from teacher t,student s,stu_tea st WHERE st.tea_id=t.tea_id and s.stu_id=st.stu_id </select> </mapper> 

测试

Student{stuId=1, stuName='张三', age=15, teachers=[Teacher{teaId=1, teaName='赵六老师', gender='男', students=null}, Teacher{teaId=2, teaName='钱七老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]} Student{stuId=2, stuName='李四', age=16, teachers=[Teacher{teaId=2, teaName='钱七老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]} Student{stuId=3, stuName='王武', age=17, teachers=[Teacher{teaId=1, teaName='赵六老师', gender='男', students=null}, Teacher{teaId=3, teaName='二三老师', gender='女', students=null}]} 

<—————————————————————————————–>

Teacher{teaId=1, teaName='赵六老师', gender='男', students=[Student{stuId=1, stuName='张三', age=15, teachers=null}, Student{stuId=3, stuName='王武', age=17, teachers=null}]} Teacher{teaId=2, teaName='钱七老师', gender='男', students=[Student{stuId=1, stuName='张三', age=15, teachers=null}, Student{stuId=2, stuName='李四', age=16, teachers=null}]} Teacher{teaId=3, teaName='二三老师', gender='女', students=[Student{stuId=3, stuName='王武', age=17, teachers=null}, Student{stuId=2, stuName='李四', age=16, teachers=null}, Student{stuId=1, stuName='张三', age=15, teachers=null}]} 

代码中实体类的编写:一对一在实体类中多加一个属性,一对多在实体类中多加一个集合属性,多对多就是在两个实体类中各加一个集合属性

温馨提示:本人初学java者,如有不对敬请指出,谢谢!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122677.html

(0)
上一篇 2025-10-14 21:15
下一篇 2025-10-14 21:26

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信