一对多的处理| 学习笔记

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

开发者学堂课程【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>
AI 代码解读
目录
打赏
0
0
0
1
177
分享
相关文章
查询队列(Query Queue)快速入门
本文由钟昌宏(大宏)分享,主题为Hologres 3.0新功能——Hologres查询队列(Query Queue)的使用场景、基本用法及入门实践。内容涵盖四个部分:查询队列的基本介绍、并发控制与排队能力、查询隔离与熔断,以及如何在管控台观察计算组或实例使用查询队列的情况。通过分类器管理、匹配规则等机制,实现对不同类型Query的灵活控制,并结合Serverless Computing提升系统稳定性与成功率。适用于数据写入与查询任务的优化场景。
ES 和 clickhouse 对比选型
clickhouse 是列式存储所以无法进行全文检索,所以更适合数据分析的需求。elasticsearch更适合高并发并且查询返回结果较少的全文检索,如搜索引擎。
3597 0
Git从远程仓库拉取指定的分支
Git从远程仓库拉取指定的分支
2193 0
阿里巴巴云原生 etcd 服务集群管控优化实践
这些年,阿里云原生 etcd 服务发生了翻天覆地的变化,这篇文章主要分享一下 etcd 服务在面对业务量大规模增长下遇到的问题以及我们是如何解决的,希望对读者了解 etcd 的使用和管控运维提供经验分享。
阿里巴巴云原生 etcd 服务集群管控优化实践
MaxCompute产品使用合集之针对批量值的IN操作,该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
177 16
|
9月前
|
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解1
【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解
163 3
Apache Flink SQL:实时计算的核心引擎
Apache Flink SQL 的一些核心功能,并探讨了其在实时计算领域的应用。随着 Flink 社区的不断发展和完善,Flink SQL 将变得越来越强大,为实时数据分析带来更多的可能性。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等