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

门户网站建设ppt方案分毫报价小程序

门户网站建设ppt方案,分毫报价小程序,品牌网站设计案例,微信微网站开发报价单Mybatis#xff1a;一对多映射处理 前言一、概述二、创建数据模型三、问题四、解决方案1、方案一#xff1a;collection#xff08;嵌套结果#xff09;2、方案二#xff1a;分步查询#xff08;嵌套查询#xff09; 前言 本博主将用CSDN记录软件开发求学之路上的亲身所… Mybatis一对多映射处理 前言一、概述二、创建数据模型三、问题四、解决方案1、方案一collection嵌套结果2、方案二分步查询嵌套查询 前言 本博主将用CSDN记录软件开发求学之路上的亲身所得与所学有兴趣的小伙伴可以关注博主也许一个人独行可以走的很快但是一群人结伴而行才能走的更远 一、概述 一对多关系表示一个实体对象一可以拥有多个关联对象多。 例如一个用户可以有多个订单或者一个部门可以有多个员工。 在数据库中一对多关系通常通过外键来实现。 二、创建数据模型 定义实体类定义主表实体类和从表实体类主表实体类 中包含 从表实体类 的List集合属性。 现在我们以此来创建面向对象语言的对象数据模型 Dept.java public class Dept {private Integer did;private String deptName;private ListEmp emps;//用于表示数据库一对多的关系// 省略构造函数和getter/setter方法 }Emp.java public class Emp {private Integer eid;private String empName;private Integer age;private String sex;private String email;// 省略构造函数和getter/setter方法 }三、问题 假设我们现在又两张表一张员工表一张部门表现在我们要获取部门以及该部门中所有的员工信息 四、解决方案 1、方案一collection嵌套结果 嵌套结果使用嵌套结果的方式可以在查询主实体对象的同时通过嵌套的方式将关联实体对象的属性嵌套到主实体对象的属性中。这种方式的实现需要在Mapper.xml文件中定义一个SQL语句使用嵌套的方式将关联实体对象的属性映射到主实体对象的属性中。在定义映射关系时需要使用resultMap标签来定义主实体对象和关联实体对象的映射关系使用collection标签来嵌套关联实体对象的属性。 DeptMapper.java /*** description:获取部门以及部门中所有的员工信息* author: Hey* date: 2022/7/4 10:46* param: [did]* return: com.ir.mybatis.pojo.Dept**/Dept getDeptAndEmp(Param(did) Integer did); DeptMapper.xml resultMap iddeptAndEmpResultMap typeDeptid propertydid columndid/idresult propertydeptName columndept_name/result!--collection处理一对多的映射关系ofType表示该属性所对应的集合中存储数据的类型--collection propertyemps ofTypeEmpid propertyeid columneid/idresult propertyempName columnemp_name/resultresult propertyage columnage/resultresult propertysex columnsex/resultresult propertyemail columnemail/result/collection/resultMap!--Dept getDeptAndEmp(Param(did) Integer did);--select idgetDeptAndEmp resultMapdeptAndEmpResultMapselect * from t_dept left join t_emp on t_dept.did t_emp.did where t_dept.did #{did}/selectResultTest.java /*** description:获取部门以及部门中所有的员工信息* author: Hey* date: 2022/7/4 10:54* param: []* return: void**/Testpublic void testGetDeptAndEmp(){SqlSession sqlSession SqlSessionUtils.getSqlSession();DeptMapper mapper sqlSession.getMapper(DeptMapper.class);Dept dept mapper.getDeptAndEmp(1);System.out.println(dept);/*** Dept{* did1, deptNameA,* emps[* Emp{eid1, empName喜羊羊, age34, sex男, email123qq.com},* Emp{eid4, empName沸羊羊, age23, sex男, email123qq.com}* ]* }*/}2、方案二分步查询嵌套查询 嵌套查询使用嵌套查询的方式可以在查询主实体对象的同时通过查询关联实体对象的方式获取相关联的多个实体对象。这种方式的实现需要在Mapper.xml文件中定义两个独立的SQL语句一个用于查询主实体对象另一个用于查询关联实体对象。在查询主实体对象时通过使用select标签的子标签来执行关联实体对象的查询并将查询结果映射到主实体对象的属性中。 DeptMapper /*** description:通过分步查询查询部门以及部门中所有的员工信息* 分步查询第一步查询部门信息* author: Hey* date: 2022/7/4 12:31* param: [did]* return: com.ir.mybatis.pojo.Dept**/Dept getDeptAndEmpByStepOne(Param(did) Integer did);DeptMapper.xml resultMap iddeptAndEmpByStepResultMap typeDeptid propertydid columndid/idresult propertydeptName columndept_name/resultcollection propertyempsselectcom.ir.mybatis.mapper.EmpMapper.getDeptAndEmpByStepTwocolumndid fetchTypeeager/collection/resultMapselect idgetDeptAndEmpByStepOne resultTypedeptAndEmpByStepResultMapselect * from t_dept where did #{did}/selectEmpMapper /*** description:通过分步查询查询部门以及部门中所有的员工信息* 分步查询第二步根据did查询员工信息* author: Hey* date: 2022/7/4 12:36* param: [did]* return: java.util.Listcom.ir.mybatis.pojo.Emp**/ListEmp getDeptAndEmpByStepTwo(Param(did) Integer did);EmpMapper.xml select idgetDeptAndEmpByStepTwo resultTypeEmpselect * from t_emp where did #{did}/selectResultTest /*** description:通过分步查询查询部门以及部门中所有的员工信息* author: Hey* date: 2022/7/4 12:40* param: []* return: void**/Testpublic void testGetDeptAndEmpByStep(){SqlSession sqlSession SqlSessionUtils.getSqlSession();DeptMapper mapper sqlSession.getMapper(DeptMapper.class);Dept dept mapper.getDeptAndEmpByStepOne(1);System.out.println(dept.getDeptName());}无论是使用嵌套查询还是嵌套结果的方式都需要在Mapper.xml文件中定义相应的SQL语句和映射关系。同时为了提高查询性能可以使用Mybatis的延迟加载机制来减少查询次数提高数据访问效率。
http://www.hkea.cn/news/14373764/

相关文章:

  • 营销型企业网站建设 广义的空间韩国小清新网站模板
  • 东营市公司网站建设价格湛江网站制作建设
  • 太原注册公司网站中海建路桥建设有限公司网站
  • 岳阳网站优化郑州新闻最新消息今天
  • 个人博客网站域名注册做民宿加盟哪些网站比较好
  • 个人网站建设案例教程做网站网站犯法吗
  • 天河区网站建设网站二级导航
  • 中牟网站建设网站建设带服务器
  • python做的知名网站工商营业执照年检
  • 太月星网站建设程序开发网页设计wordpress中文商城模板
  • 企业官方网站建设教程个人怎么创建网站
  • 做企业网站10万起步百度一下建设部网站
  • 自家宽带怎么建设网站手机下载软件
  • 织梦做的网站如何去掉index深圳软件定制公司
  • 网站开发 验收邯郸手机网站建设费用
  • 优化大师官方网站中国空间站模型
  • 罗湖商城网站建设哪家技术好ip138查询网站网址域名ip
  • 可做产品预售的网站南昌网站维护
  • 微信第三方网站开发教程神马seo教程
  • 网站建设加盟创业国产crm系统91
  • 负责网站建设wordpress js写法
  • 可以做动图的视频网站蚌埠大建设及棚户区改造官方网站
  • 品牌网站建设定位全国最有实力的信息网络公司排名
  • 做影视网站的软件聚名网认证
  • 做网站是用的那个开发软件网站虚拟主机1g
  • 怎样用电脑做网站服务器部门网站建设怎么做
  • 西安网站建设专家岳阳网站建设哪家好
  • 医院做网站的风格vps推荐
  • 淄博网站制作多样定制徐州模板厂
  • 网站后台怎么换图片重庆装修公司前十强