<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
舉例關係說明
資料庫建立表,student,teacher
關係說明:
查詢學生資訊及其對應的教師資訊
學生實體:用物件來儲存教師資訊,因為一個學生對應一個教師物件
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; }
資料庫查詢sql:
SELECT student.id,student.name,teacher.name FROM student LEFT JOIN teacher on student.t_id = teacher.id
mybatis多表聯查查詢語句:(巢狀其他實體物件)
對於特殊資料:
<!-- 按照結果巢狀處理--> <select id="getStudent1" resultMap="StudentTeacher1"> SELECT student.id,student.Sname,teacher.Tname FROM student LEFT JOIN teacher on student.t_id = teacher.id </select> <resultMap id="StudentTeacher1" type="com.qcby.entity.Student"> <result property="id" column="id"/> <result property="Sname" column="Sname"/> <result property="sex" column="sex"/> <result property="age" column="age"/> <result property="t_id" column="t_id"/> <!-- 複雜的屬性我們需要單獨去處理 物件:association 集合:collection --> <!-- property="teacher" student類當中的關聯欄位 --> <!-- javaType="com.javen.model.Teacher" 為複雜屬性設定類型別--> <association property="teacher" javaType="com.qcby.entity.Teacher"> <result property="id" column="id"/> <result property="Tname" column="Tname"/> </association> </resultMap>
資料庫查詢sql:
SELECT s.id,s.Sname,t.Tname FROM student s,teacher t where s.t_id = t.id
mybatis分佈查詢查詢語句:
<select id = "getStudent" resultMap="StudentTeacher"> select * from student; </select> <!--結果對映集--> <resultMap id="StudentTeacher" type="com.qcby.entity.Student"> <result property="id" column="id"/> <result property="Sname" column="Sname"/> <result property="sex" column="sex"/> <result property="age" column="age"/> <result property="t_id" column="t_id"/> <!-- select="getTeacher" :呼叫下一個查詢語句 --> <!-- column="t_id" 兩個表的關聯欄位--> <association property="teacher" column="t_id" javaType="com.qcby.entity.Teacher" select="getTeacher"/> </resultMap> <select id="getTeacher" resultType="com.qcby.entity.Teacher"> select * from teacher where id = #{t_id}; <!-- #{id}; 可以寫任何東西,因為會自動匹配 t_id --> </select>
查詢教師對應的學生資訊
設立教師實體:用集合來儲存對應的學生資訊,因為一個教師對應多個學生
public class Teacher { private Integer id; private String Tname; //這個一定要有 private List<Student> students; }
mybatis查詢語句:
<!--按照結果進行查詢--> <select id="getTeacher" resultMap="TeacherStudent"> SELECT teacher.id,teacher.Tname,student.Sname FROM teacher LEFT JOIN student on student.t_id = teacher.id </select> <resultMap id="TeacherStudent" type="com.qcby.entity.Teacher"> <result property="id" column="id"/> <result property="Tname" column="Tname"/> <!-- 複雜的屬性我麼需要單獨去處理 物件:association 集合:collection 在集合中的泛型資訊,我們使用ofType獲取 --> <collection property="students" ofType="com.qcby.entity.Student"> <!-- 查詢什麼寫什麼 --> <result property="Sname" column="Sname"/> </collection> </resultMap>
mybatis查詢語句: 對於特殊欄位集合採用分佈查詢的方式,特殊欄位特殊處理:< collection property=“students” column=“t_id”
ofType=“com.qcby.entity.Student” select=“getStudentByTeacherId” />,getStudentByTeacherId一個新的查詢語句
<!--按照查詢巢狀處理:分佈查詢--> <select id="getTeacher" resultMap="TeacherStudent2"> select * from teacher </select> <resultMap id="TeacherStudent2" type="com.qcby.entity.Teacher"> <!--column="t_id" 傳值--> <collection property="students" column="t_id" ofType="com.qcby.entity.Student" select="getStudentByTeacherId" /> <!--實現分佈查詢--> </resultMap> <select id="getStudentByTeacherId" resultType="com.qcby.entity.Student"> select * from student where id = #{t_id} </select
到此這篇關於Mybatis關聯對映舉例詳解的文章就介紹到這了,更多相關Mybatis關聯對映內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45