一对多的处理| 学习笔记

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

开发者学堂课程【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>
相关文章
|
8月前
|
SQL 存储 分布式计算
查询队列(Query Queue)快速入门
本文由钟昌宏(大宏)分享,主题为Hologres 3.0新功能——Hologres查询队列(Query Queue)的使用场景、基本用法及入门实践。内容涵盖四个部分:查询队列的基本介绍、并发控制与排队能力、查询隔离与熔断,以及如何在管控台观察计算组或实例使用查询队列的情况。通过分类器管理、匹配规则等机制,实现对不同类型Query的灵活控制,并结合Serverless Computing提升系统稳定性与成功率。适用于数据写入与查询任务的优化场景。
|
存储 搜索推荐 NoSQL
ES 和 clickhouse 对比选型
clickhouse 是列式存储所以无法进行全文检索,所以更适合数据分析的需求。elasticsearch更适合高并发并且查询返回结果较少的全文检索,如搜索引擎。
3932 0
|
开发工具 git
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
3195 0
|
存储 弹性计算 运维
阿里巴巴云原生 etcd 服务集群管控优化实践
这些年,阿里云原生 etcd 服务发生了翻天覆地的变化,这篇文章主要分享一下 etcd 服务在面对业务量大规模增长下遇到的问题以及我们是如何解决的,希望对读者了解 etcd 的使用和管控运维提供经验分享。
阿里巴巴云原生 etcd 服务集群管控优化实践
|
存储 算法 网络虚拟化
【计算机网络】学习笔记,第三篇:数据链路层
现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。在 PPPoE 弹出的窗口中键入在网络运营商购买的用户名和密码,就可以进行宽带上网了 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间,也是使用 RJ-45 和 5 类线(即以太网使用的网线)进行连接的,并且也是使用 PPPoE 弹出的窗口进行拨号连接的
452 5
|
编译器 C++
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解1
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
280 3
|
SQL 数据处理 Apache
Apache Flink SQL:实时计算的核心引擎
Apache Flink SQL 的一些核心功能,并探讨了其在实时计算领域的应用。随着 Flink 社区的不断发展和完善,Flink SQL 将变得越来越强大,为实时数据分析带来更多的可能性。
|
分布式计算 DataWorks 监控
DataWorks产品使用合集之在开发环境中配置时找不到表,是什么导致的
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
148 2
|
安全 Java
Java HashSet
5月更文挑战第13天
|
传感器 机器学习/深度学习 算法
LabVIEW开发工业物联网状态监测
LabVIEW开发工业物联网状态监测
230 2