当前位置: 首页 > news >正文

网站主流系统编程做网站

网站主流系统,编程做网站,制作精美网站建设服务周到,江门网站seo推广目录 一、创建表结构 1. 学生表 (student) 2. 教师表 (teacher) 二、一对一 多对一 关系映射 1. 连表查询#xff08;直接查询#xff09; 2. 分步查询#xff08;懒加载#xff09; 三、一对多 关系映射 1. 直接查询 2. 分步查询 四、MyBatis 延迟加载 多对一 关系映射 1. 连表查询直接查询 2. 分步查询懒加载 三、一对多 关系映射 1. 直接查询 2. 分步查询 四、MyBatis 延迟加载懒加载 1. 配置全局懒加载 2. 配置分步查询的懒加载 3. 测试代码 4. 强制立即加载eager 一、创建表结构 在 MyBatis 进行关联映射时我们需要创建 student学生表和 teacher教师表并建立它们之间的关联。 1. 学生表 (student) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS student; CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT,Sname varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,sex varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,age int(11) DEFAULT NULL,t_id int(11) DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 11 CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT Compact;INSERT INTO student VALUES (1, 张三, 男, 18, 1); INSERT INTO student VALUES (2, 李四, 女, 18, 1); ...SET FOREIGN_KEY_CHECKS 1;2. 教师表 (teacher) SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS teacher; CREATE TABLE teacher (id int(11) NOT NULL AUTO_INCREMENT,Tname varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 3 CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT Compact;INSERT INTO teacher VALUES (1, 张老师); INSERT INTO teacher VALUES (2, 李老师);SET FOREIGN_KEY_CHECKS 1;二、一对一 多对一 关系映射 1. 连表查询直接查询 实体类 public class Student {private Integer id;private String Sname;private String sex;private Integer age;private Integer t_id;private Teacher teacher; // 关联的教师对象 }public class Teacher {private Integer id;private String Tname; }查询语句 select idgetStudent1 resultMapStudentTeacher1SELECT student.id, student.Sname, teacher.TnameFROM studentLEFT JOIN teacher ON student.t_id teacher.id /selectresultMap idStudentTeacher1 typecom.qcby.entity.Studentresult propertyid columnid/result propertySname columnSname/association propertyteacher javaTypecom.qcby.entity.Teacherresult propertyid columnid/result propertyTname columnTname//association /resultMap2. 分步查询懒加载 select idgetStudent resultMapStudentTeacherSELECT * FROM student; /selectresultMap idStudentTeacher typecom.qcby.entity.Studentassociation propertyteacher columnt_id javaTypecom.qcby.entity.Teacher selectgetTeacher/ /resultMapselect idgetTeacher resultTypecom.qcby.entity.TeacherSELECT * FROM teacher WHERE id #{t_id}; /select三、一对多 关系映射 1. 直接查询 实体类 public class Teacher {private Integer id;private String Tname;private ListStudent students; // 一个老师有多个学生 }查询语句 select idgetTeacher resultMapTeacherStudentSELECT teacher.id, teacher.Tname, student.SnameFROM teacherLEFT JOIN student ON student.t_id teacher.id; /selectresultMap idTeacherStudent typecom.qcby.entity.Teachercollection propertystudents ofTypecom.qcby.entity.Studentresult propertySname columnSname//collection /resultMap2. 分步查询 select idgetTeacher resultMapTeacherStudent2SELECT * FROM teacher; /selectresultMap idTeacherStudent2 typecom.qcby.entity.Teachercollection propertystudents columnid ofTypecom.qcby.entity.Student selectgetStudentByTeacherId / /resultMapselect idgetStudentByTeacherId resultTypecom.qcby.entity.StudentSELECT * FROM student WHERE t_id #{t_id}; /select四、MyBatis 延迟加载懒加载 1. 配置全局懒加载 settingssetting namelazyLoadingEnabled valuetrue/setting nameaggressiveLazyLoading valuefalse/ /settings2. 配置分步查询的懒加载 association propertyteacher columnt_id javaTypecom.qcby.entity.Teacherselectcom.qcby.dao.TeacherDao.getTeacher fetchTypelazy/3. 测试代码 Test public void getStudent() {ListStudent studentList mapper.getStudent();for (Student student : studentList) {System.out.println(student.getSex());} }Test public void getStudentWithTeacher() {ListStudent studentList mapper.getStudent();for (Student student : studentList) {System.out.println(student.getTeacher().getTname());} }4. 强制立即加载eager association propertyteacher columnt_id javaTypecom.qcby.entity.Teacherselectcom.qcby.dao.TeacherDao.getTeacher fetchTypeeager/五、总结 一对一 多对一 可以使用 连表查询 或 分步查询懒加载。一对多 关系可以使用 结果嵌套 或 查询嵌套。懒加载 需要在 MyBatis 配置文件 和 映射 XML 里配置。某些查询可以强制使用立即加载eager避免不必要的多次查询。
http://www.dnsts.com.cn/news/270526.html

相关文章:

  • 团购网站怎么运营wordpress评论框函数
  • 如何创建问卷网站163企业邮箱登陆
  • 个人备案的网站能做盈利吗做自己任务的网站
  • 网站建设 资讯wordpress缩略图中大大
  • 西安做企业网站做网上竞猜网站合法吗
  • 网站建设怎么申请域名做网站后台应该谁来做
  • 龙岩网站建设响应式网站检测工具
  • 淘宝的电子商务网站的建设腾讯云 wordpress教程视频
  • 做网站域名起什么作用西安推广网络排行
  • 南昌企业网站制作wordpress分页无效
  • 海外网站平台dw网页制作怎么改字体大小
  • 公司展示网站制作安庆做网站的
  • 建设防伪网站厦门规划建设局网站
  • 做热点图现在用什么网站南京市住房和城乡建设部网站
  • 黄页网站介绍把代码到wordpress
  • 阿里云免费网站建设模板哈尔滨速成网站建设
  • 游乐园网站建设建网站带支付链接
  • 哈尔滨无障碍网站建设网站域名服务器
  • 个人备案网站可以做淘宝客自己做的网站涉黄
  • 网站推广seo设置网页制作成app
  • 南昌网站建设包括哪些wordpress ciphpdown
  • 贵州省城乡和住房建设厅网站首页提升wordpress访问速度
  • 北京网站设计制作哪家好莱阳做网站的
  • 制作网站用什么软件好wordpress图片太多
  • 工作室网站模板大连甘井子区教育局官网
  • 常州网站seo代理加盟房屋装修设计培训学校
  • 漳州市建设局网站泉州免费网站制作
  • 网站开发程序说明根域名服务器
  • 网站的策划做推广上线一个app需要多少钱
  • 泰安集团网站建设报价广州购物网站设计