一对多的处理| 学习笔记

简介: 快速学习一对多的处理。

开发者学堂课程【MyBatis持久层框架入门:一对多的处理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/21/detail/448


一对多的处理


内容介绍:

1. association、property、JavaType、cloumn、select

2. 一对多的处理

3. Collection 元素

4. 编写映射文件 teacher.mapper.xml 的两种方式

1、 association、property、JavaType、cloumn、select

association:关联属性;

property:属性名;

JavaType:属性的类型;

cloumn:关联属性在多的一方表中列名;

select:表示查询;


2、 一对多的处理

1. 数据库表的设计(不需要改变,与多对一一致)

2. 实体类

Ø Student.java

public class Student {

private int id;

private String name;

public int getId(){

return id;

{

public void setId(int id) {

this.id=.id;

}

public String getName(){

return name;

{

public void setName (String name) {

this.name= name;

}

}

Ø Teather.java

public class Teacher{

private int id;

private String name;

private List students;

public int getId(){

return id;

}

public void setId(int id) {

this.id=id;

}

public String getName(){

return name;

}

public void setName(String name)

this.name= name;

}

public List getStudents(){

return students;

}

public void setStudents (List students){

this.students = students;

}

}

3、 Collection元素

Collection 元素

(result property="subject"column="post_aubject"/>


collection 元素的作用差不多和 association 元素的作用一样。

事实上,它们非常相似,以至于再对相似点进行描述会显得冗余,因此我们只关注它们的不同点。

继续我们上面的例子,一个Blog只有一个Author。

但一个Blog有许多帖子(文章)。

在Blog类中,会像下面这样定义相应属性

集合嵌套选择(Nested Select for Collection)

首先我们使用嵌套选择来加载Blog的文章。


SELECT* FROM BLOG WHERE ID = #{id]

4、编写映射文件teacher.mapper.xml的两种方式

第一种:

select s.id sid,s.name sname,s.tid stid,t.id tid,t.name tname from student s,teacher t where s.tid=t.id and t.id=#{id}



第二种:

select* from teacher where id=#{id}

column="id"

select="cn.sxt.entity.student.mapper.getStudentByTid"



Student mapper xml

select* from student where tid=#{id}


            </div>
相关文章
|
29天前
|
SQL 前端开发 Java
利用bladex+avue实现一对多的关系
利用bladex+avue实现一对多的关系
16 0
|
6月前
|
SQL XML 数据格式
mybatis-关联关系&一对多关联&多对一关联&多对多
mybatis-关联关系&一对多关联&多对一关联&多对多
|
Java 数据库连接 数据库
多对一的处理 | 学习笔记
快速学习多对一的处理
多对一的处理 | 学习笔记
|
存储 关系型数据库 数据库
[译] 如何用 Room 处理一对一,一对多,多对多关系?
[译] 如何用 Room 处理一对一,一对多,多对多关系?
[译] 如何用 Room 处理一对一,一对多,多对多关系?
|
开发者
多对多关系 | 学习笔记
快速学习多对多关系。
124 0
多对多关系 | 学习笔记
|
XML 数据库 数据格式
一对多的处理| 学习笔记
快速学习一对多的处理。
|
数据库 开发者 Java
多对一的处理 | 学习笔记
快速学习多对一的处理。
多对一的处理 | 学习笔记
|
XML Java 数据库连接
Mybatis【一对多、多对一、多对多】知识要点
Mybatis【多表连接】 我们在学习Hibernate的时候,如果表涉及到两张的话,那么我们是在映射文件中使用..等标签将其的映射属性关联起来的...那么在我们Mybatis中又怎么做呢??? 先来回顾一下我们SQL99的语法: 一)内连接(等值连接):查询客户姓名,订单编号,订单价格 ...
1128 0