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

上海专业制作网站莱芜最新

上海专业制作网站,莱芜最新,肥西建设局官方网站,知乎推广mybatis05:复杂查询:(多对一,一对多) 文章目录 mybatis05:复杂查询:(多对一,一对多)前言:多对一 : 关联 : 使用associatio…

mybatis05:复杂查询:(多对一,一对多)


文章目录

  • mybatis05:复杂查询:(多对一,一对多)
  • 前言:
    • 多对一 : 关联 : 使用association
    • 一对多 : 集合: 使用collection
    • sql语句分析:
  • 一、多对一:student 对 teacher
    • 1.按照查询嵌套处理:与子查询很相似
    • 2.按照结果嵌套处理(推荐自己使用)
  • 二、一对多:teacher对student
    • 1. 写sql难,但写resultMap简单。(推荐自己使用)
    • 2. 写sql简单,但写resultMap难。
  • 总结


前言:


多对一 : 关联 : 使用association

在这里插入图片描述



一对多 : 集合: 使用collection

在这里插入图片描述



sql语句分析:

在这里插入图片描述



在这里插入图片描述



在这里插入图片描述


提示:以下是本篇文章正文内容:

一、多对一:student 对 teacher

1.按照查询嵌套处理:与子查询很相似


    <!--思路:1. 查询所有的学生2. 根据查询出来的tid 寻找对应的老师--><select id="getStudent" resultMap="StudentTeacher">select * from student</select><resultMap id="StudentTeacher" type="com.zhu.pojo.Student"><result property="id" column="id"/><result property="name" column="name"/><!--复杂的属性与要单独处理 对象 association  集合 collection--><association property="teacher" column="tid" javaType="com.zhu.pojo.Teacher" select="getTeacher"/>   </resultMap><select id="getTeacher" resultType="com.zhu.pojo.Teacher">select * from teacher where id = #{id}</select>

1.select标签,将resultType修改为resultMap,那么我们就需要写一个resultMap标签来映射(ORM)
2.多的一方 与 一的一方,student 与 teacher的关系是“关联”(association),这里是复杂查询的部分了,我们运用子查询的思想,根据tid来再去查询teacher对象。



2.按照结果嵌套处理(推荐自己使用)

    <!-- 思路:1.我们正常写sql语句(联表查询),2.但是对结果集映射里面的teacher对象,他的属性“再映射一次” --><select id="getStudent2" resultMap="StudentTeacher2">select s.id sid,s.name sname,t.name tnamefrom student s ,teacher twhere s.tid = t.id;</select><resultMap id="StudentTeacher2" type="com.zhu.pojo.Student"><result property="id" column="sid"/><result property="name" column="sname"/><association property="teacher" javaType="com.zhu.pojo.Teacher"><result property="name" column="tname"/></association></resultMap>

1.resultType修改为resultMap
2.我们对查询结果中的类,在映射一遍



二、一对多:teacher对student

1. 写sql难,但写resultMap简单。(推荐自己使用)


<!--  按结果嵌套查询-->
<select id="getTeacher" resultType="com.zhu.pojo.Teacher">select * from teacher;
</select>
<select id="GetTeacher" resultMap="GetStudent">select s.id sid ,s.name sname ,t.name tname,t.id tidfrom student s,teacher twhere s.tid = t.id and t.id=#{tid}
</select>
<resultMap id="GetStudent" type="com.zhu.pojo.Teacher"><result property="id" column="tid"/><result property="name" column="tname"/>
<!--
javaType="" 指定的属性的类型
集合中的泛型信息用 ofType 获取
--><collection property="students" ofType="com.zhu.pojo.Student"><result property="id" column="sid"/><result property="name" column="sname"/><result property="tid" column="tid"/></collection>
</resultMap>


2. 写sql简单,但写resultMap难。

<!--先查询老师,再查学生-->
<select id="GetTeacher2" resultMap="GetStudent2">select *from teacher where id=#{tid}
</select>
<resultMap id="GetStudent2" type="com.zhu.pojo.Teacher"><collection property="students"  javaType="ArrayList" ofType="com.zhu.pojo.Student" select="GetStudentByTeacherId" column="id"/>
</resultMap>
<select id="GetStudentByTeacherId" resultType="com.zhu.pojo.Student">select *from student where tid = #{tid}
</select>

总结

提示:这里对文章进行总结:

💕💕💕

重点:推荐使用 写sql难一点,但写resultMap简单一点的方法

(完完整整将语句语句给写完!!!)

http://www.yayakq.cn/news/153792/

相关文章:

  • 电脑网站怎么做的商城app定制
  • 华中农业大学基因编辑在线设计网站合肥最好的网站建设公司排名
  • 南昌网站建设培训工业设计是很差的专业
  • 合肥网站建设百姓网WordPress修改评论者昵称
  • 报名系统网站开发小程序开发指南
  • 网站改版 总结百度竞价做网站建设
  • 摄影网站设计与制作聊城网站建设包括哪些
  • 物流公司网站怎么做如何看网站做的好坏
  • 网站怎么做能让人搜到鲜花网站素材
  • 网站粘度靖江网站建设
  • 物流公司网站 源码网站建设内容论文
  • 怀远网站建设哪家好企业简介封面设计
  • 成都电商网站建设实训小结网站建设
  • 开发做一个网站的流程爱漫画-只做精品的韩漫网站
  • 长沙做网站改版费用建网站有什么要注意的
  • 天河建设网站专家网站qq显示未启用
  • 网站建设公司利润率台州网站建设费用
  • 淘客网站做百度推广购物网站建设的目的
  • 阿里巴巴国际站运营公司 宜宾网站建设
  • 门户网站建设招标方微信小程序开发工具
  • 青岛专业网站设计的公司装修全包报价明细表2023
  • 贵阳网站制作方舟网络qq空间刷赞推广网站
  • 温州手机网站开发南宁市建设厅网站
  • 模块化网站建设一般多少钱苏宁易购电子商务网站建设目标
  • 沂水网站制作2020新闻大事件摘抄
  • 网站是哪个公司做的好处外置硬盘可以做网站访问
  • 企业网站推广效果指标分析怎样在网站做推广
  • 关于做网站泰安贴吧百度贴吧
  • 网站宽度品牌推广方案策划书
  • 郑州哪家做网站便宜银川seo