首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Mybatis】常见面试题:处理之间关系对一,一对

员工与部门有对应关系,实体类之间也有对应关系 对一 员工实体类中加入实体类部门属性 Dept dept; 查询员工信息以及员工所对应部门信息 方式一:级联方式处理映射关系 <resultMap...association专门处理对一映射关系 * property:表示需要处理对一关系属性名 * javaType:表示该属性类型 <resultMap id="empAndDeptResultMapTwo...) * 好处: * 可以实现延迟加载,<em>在</em>mybatis中默认是不加载<em>的</em> 核心配置信息: <!...<em>在</em>部门实体类中加入员工类构成<em>的</em>集合 private List emps; 方式一:collection collection:用来处理<em>一对</em><em>多</em><em>的</em>映射<em>关系</em> property:处理<em>一对</em>多<em>关系</em><em>的</em>属性...-- collection:用来处理<em>一对</em><em>多</em><em>的</em>映射<em>关系</em> property:处理<em>一对</em>多<em>关系</em><em>的</em>属性 ofType:表示该属性对应<em>的</em>集合中存储<em>的</em>数据<em>的</em>类型

11810

Mybatis之间关系分析 注解开发 @One @Many介绍 一对一对

之间关系分析 之间关系有几种: 一对 对一 mybatis中多表查询: 一对 实例:用户和账户 一个用户可以有多个账户 一个账户只能属于一个用户(多个账户也可以属于同一个用户...) 步骤: 1.建立两张:用户,账户 让用户和账户之间具备一对关系:需要使用外键账户中添加 2.建立两个实体类:用户实体和账户实体类 让用户和账户实体类能体现出来一对关系...--一对关系映射:配置封装user内容 javatype指定封装到哪个对象--> <association property="user" column="uid"...一个角色可以赋予多个用户 步骤: 1.建立两张:用户,账户 让用户和角色之间具备关系:需要使用中间,中间中包含各自主键中间中是外键。...2.建立两个实体类:用户实体和账户实体类 让用户和角色实体类能体现出来关系 各自包含对方一个集合引用 3.建立两个配置文件 用户配置文件 角色配置文件 4.实现配置:

2.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

第2篇:数据库关系建模

注意,外码命名不一定要和它对应主码一致,应根据实际情况决定。 6. (M:N)联系映射 这类映射规则为:除了具有联系两个实体之外,联系本身也需要映射为关系。...将具有多值属性实体映射为关系 这类映射中,需要为多值属性创建一个新关系。新关系中包含一个外码,对应到主实体主码。同时属性值和外码构成新关系复合主码。 如下实体: ? 将映射为关系: ?...(M:N)一元联系映射 这类映射规则为:除了实体本身需要映射为关系之外,联系需要映射为另一个关系。新关系中将有两个外码,它们均对应到实体主码。且这两个外码又组合为新关系复合主码。...将映射为关系: ? 这里同样要注意外键名要避免和主键名重复。 13. 一对一(1:1)一元联系映射 和上面第11条讲一对一元联系映射规则完全相同,此处不再举例说明。 14....这里提示下,三元联系情况,联系肯定是。因为如果这三元中有一个为一,那么三元联系就应转成两个二元一对联系。

1.6K61

MySQL:【第四篇 数据库设计及备份】

数据库设计 (一) 多表之间关系 (1) 分类 一对一 Eg:人和身份证 分析:人与身份证是一一对 一对(对一) Eg:部门和员工 分析:一个部门有多个员工,一个员工只能对应一个部门 ...Eg:学生和课程 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择 (2) 实现方式 一对(对一): Eg:部门和员工 实现方式:一方建立外键,指向一一方主键 : Eg...:学生和课程 实现方式:对多关系实现需要借助第三张中间。...中间至少包含两个字段,这两个字段作为第三张外键,分别指向两张主键 一对一(了解): Eg:人和身份证 实现方式:一对关系实现,可以在任意一方添加唯一外键指向另一方主键 (3) 案例...tab_favorite ( rid INT, -- 线路id DATE DATETIME, uid INT, -- 用户id -- 创建复合主键

42930

《数据库系统概念》10-ER模型

如果在一些场景下要使用整个属性,另外场景则只需要属性一部分,则适合使用复合属性。复合属性有助于分组相关属性,让建模更清晰。 单值属性和多值属性。...假设R为实体A-B之间联系集,则映射基数有如下几种情况: 一对一(one to one),A实体至多与一个B实体关联,反之亦然。...三、E-R模型转换为关系模型 a)转换具有简单属性强实体集 假设E是具有简单描述性属性a1,a2..强实体集,可以转换为具有同样属性关系模型E,它一个元祖对应实体集中一个实体,主键也是实体集E...b)转换具有复杂属性强实体集 对于复合属性,转换时需要为每个子属性创建单独属性,比如将name拆分为first_name, middle_name, last_name;对于多值属性,需要使用多个元祖来表示...关于主键,对于二元联系,主键为参与联系实体集主键并集;对于一对联系,可使用任意一方主键;对于对一联系,选择“”端主键

82270

Java EE实用教程笔记----(8)第八章 Hibernate映射机制

8.1 代理主键映射 代理主键是自定义、用来标识表记录,不具有任何业务实体意义,一般中加入一个id字段来标识。如【实例7.1】中POJO类表示为: ? 对应映射文件配置为: ?...8.3 复合主键映射 复合主键映射有两种方法:单独定义主键类和不单独定义主键类,下面分别介绍: 8.3.1 单独定义主键类 单独定义主键类,即把主键属性组成一个新类,这个类与要映射POJO类类似...TEST数据库中创建,设计xs(见表8.5)、yjs(见表8.6)、bks(见表8.7)以及它们关联关系如下。...其实在很多情况下,可以是几个人住在同一个房间里面,就是对一关系,但是如果把这个多变成唯一,也就是说让一个人住一个房间,就变成了一对关系了,这就是前面说一对关系其实就是对一关联关系一种特殊情况...三 一对双向关联 【实例8.6】一对双向关联示例。 (1)【实例8.5】基础上修改,Person对应POJO及其映射文件不用改变,现在来修改Room对应POJO类及其映射文件。

1K20

MySQL数据库——数据库设计(多表之间关系与三大范式)与备份还原

1.1 多表之间关系 一对一(了解):如,人和身份证; 一对对一):如,部门和员工,一个部门有多个员工,一个员工只能对应一个部门; :如,学生和课程,一门课程可以被多个学生选择,一个学生可以选择门课程...; 1、一对对一) 【实现方式】:一方建立外键,指向一一方主键。...【举例】:实现部门和员工实现关系,分析示意如下: ? 2、 【实现方式】:需要借助第三张中间,中间至少包含两个字段,这两个字段作为第三张外键,分别指向两张主键。...【举例】:学生实现关系,分析示意如下: ? 3、一对一 【实现方式】:可以在任意一方添加一个唯一外键指向另一方主键。这种情况用到比较少,了解即可,涉及到这种应用场景,合成一张更合适些。...4、多表关系案例 分析旅游线路问题,假设旅游线路有很多分类,且用户可以收藏对应旅游线路,这里就涉及到三张:旅游线路分类、旅游线路、用户,分析示意图如下:分类和具体线路是一对关系,线路和用户是对多关系

2.4K30

access数据库设计报告-Access数据库设计步骤

五、确定之间关系   前面介绍数据库优化时介绍了数据库范式概念,对于优秀数据库设计通常为了减少数据冗余,为此会将很多数据拆分成基于不同主键。...需要在Access数据库中将不同通过主键和外键关联起来。   对应不同实体之间有三种类型关系一对关系,有一对关系,和关系。   ...其中如果是关系,主要是通过中间,将关系拆成一对一或者一对关系。   简单图书馆数据库中,书籍和出版商之间关系对一关系。...图书馆通常一种书有好几本会由不同的人借阅,它们关系关系   设计数据库时,这种关系就表格就需要借助中间表格,比如书籍和读者之间是借阅关系。...可以新建借阅,借阅中有借阅单号,借阅日期,还书日期等。这样书籍和借阅之间可以是一对关系,读者和借阅之间也可以是一对关系

3.5K20

Access数据库设计步骤

也可以使用替代主键。区别后续会做介绍说明。 五、确定之间关系 前面介绍数据库优化时介绍了数据库范式概念,对于优秀数据库设计通常为了减少数据冗余,为此会将很多数据拆分成基于不同主键。...需要在Access数据库中将不同通过主键和外键关联起来。 对应不同实体之间有三种类型关系一对关系,有一对关系,和关系。...其中如果是关系,主要是通过中间,将关系拆成一对一或者一对关系。 简单图书馆数据库中,书籍和出版商之间关系对一关系。...图书馆通常一种书有好几本会由不同的人借阅,它们关系关系 设计数据库时,这种关系就表格就需要借助中间表格,比如书籍和读者之间是借阅关系。...可以新建借阅,借阅中有借阅单号,借阅日期,还书日期等。这样书籍和借阅之间可以是一对关系,读者和借阅之间也可以是一对关系。(后续会再介绍)

3.8K30

EF Core如何处理对多关系

目录 一、解决 二、增 三、查 四、删 EF Core处理对多关系时并不像一对一和一对关系那样好处理,下面我们利用一个简单电子商城购物车来讲解一下吧。...一、解决 需求是这样:用户可以将多个商品放入购物车,每个商品又属于多个购物车。我们先创建ShoppingCart和Commodity实体类。...聪明同学一定想到了我们可以手动创建另一个中间,它将建立ShoppingCart和Commodity关系。...ShoppingCart没有主键,由于对多关系因此ShoppingCart应该是复合主键复合主键由两列组成一个主键,EF Core中创建复合键唯一办法是OnModelCreating中创建。...解决了创建问题,下面我们就来看一下如何进行增删查。 二、增 我们要把商品添加到购物车中,我们需要创建ShoppingCartCommodity并保存它。

2K30

MySQL学习笔记汇总(五)——索引、视图、数据库设计三范式

(经常根据哪个字段查询) 主键具有unique约束字段自动会添加索引。根据主键查询效率较高。尽量根据主键检索。...创建索引对象: create index 索引名称 on 名(字段名); 删除索引对象: drop index 索引名称 on 名; 索引实现原理: 索引底层采用数据结构是:B + Tree。...索引分类: 单一索引:给单个字段添加索引 复合索引: 给多个字段联合起来添加1个索引 主键索引:主键上会自动添加索引 唯一索引:有unique约束字段上会自动添加索引 … 索引什么时候失效...第二范式:建立第一范式基础之上,所有非主键字段完全依赖主键,不能产生部分依赖。 第三范式:建立第二范式基础之上,所有非主键字段直接依赖主键,不能产生传递依赖。...设计方案:三张关系两个外键。 一对设计方案:两张加外键。 一对一设计方案: 1.主键共享 2.外键唯一 一起加油,一起努力,一起秃见成效

43020

如何处理EF Core对多关系

对多关系不像其他关系那么简单,在这篇文章中,我将向您展示如何创建对多关系以及如何在 EF Core 中使用它们。 模型 简单而实用例子可能是某种数字电子商务商店。...我们需要做第一件事是手动创建另一个“中间”类(),它将建立Cart和Item对多关系,让我们创建这个类: public class CartItem { public int CartId...【实体类型“CartItem”需要定义一个主键。】 对,CartItem没有主键, 由于它是对多关系,因此它应该具有复合主键复合主键类似于常规主键,但它由两个属性(列)而不是一个属性组成。...从中删除 删除是指删除购物车Cart和商品Item之间关系CartItem。...以下示例中,我们不会删除购物车Cart或商品Item,只会删除购物车Cart和商品Item之间关系CartItem。 让我们从购物车Cart中删除单个产品Item开始。

2.9K20

MySQL约束

主键主键所在列通常是整数类型,比如学号,编号等具有唯一性质数据。 1.唯一主键 创建时约束某一字段为主键。...删除主键约束 这样,插入数据就可以重复,但是通过观察,仍不能为空,因为not null创建添加约束期间会一并添加到约束。不过有了主键,才能更好查找数据,因为其具有唯一性。...一个主键也可以被添加到列上,此时主键被称为复合主键两个或者多个字段一并添加为主键,采用如下方式: 这就将id, course_id同时设置为主键,这两个字段就成为复合主键。...,因此两个之间一定存在所属关系,学生属于班级,设计时通过外键约束学生就属于从,班级就属于主表。...如果将学生和班级结合成一个,那么插入数据时,就需要插入大量字段造成没必要冗余。若将其分成两个,那么通过一一对映射,来减少没必要数据。 为什么会造成没必要冗余?

18050

定了!MySQL基础这样学

6.5.1.3、结论 6.5.1.4、例子 6.5.2、外键约束(foreign key) 6.5.3、唯一性约束(unique) 6.6、之间关系 6.6.1、一对一 6.6.2、一对(...复合主键,使用列充当主键,不建议。 6.5.1.3、结论     使用单字段自然主键。 6.5.1.4、例子     创建学生,id为主键自增,name唯一,email不为空,age默认18。...t_user和t_section关系,从t_user来看就是一对,而从t_section角度来看就是对一!这种情况都是多方创建外键!...典型例子就是解决问题上,遇到时候,背口诀:?三张关系两外键 14.3、第三范式     建立第二范式基础上,所有非主键字段直接依赖主键,不能产生传递依赖。     ...典型例子就是解决问题上,遇到时候,背口诀:?三张关系两外键 14.3、第三范式     建立第二范式基础上,所有非主键字段直接依赖主键,不能产生传递依赖。

2.1K20

MySQL入门学习笔记(下)

I:隔离性(Isolation) A事务和B事务之间具有一定隔离。 教室A和教室B之间有一道墙,这道墙就是隔离性。 A事务操作一张时候,另一个事务B也操作这张会那样???...复合索引:两个字段或者更多字段上添加索引。 主键索引:主键上添加索引。 唯一性索引:具有unique约束字段上添加索引。 … 注意:唯一性比较弱字段上添加索引用处不大。...为了让以上满足第二范式,你需要这样设计: 使用三张来表示关系!!!!...# ,三张关系两个外键!!!!!!!!!!!!!!! (四)第三范式 第三范式建立第二范式基础之上 要求所有非主键字典必须直接依赖主键,不要产生传递依赖。...(五)总结设计 一对: #一对,两张加外键!!!!!!!!!!!! : #,三张关系两个外键!!!!!!!!!!!!!!!

1.1K20

表格设计2

两张都得去维护的话,想想也知道维护起来要麻烦得多。 表格示意: ? 代码示例: ? 表格设计: sqlyog里我们可以通过此工具设计表格时建立表格之间映射关系: ?...工具里建立表格关系只需要拖动主键关系主键or外键接着进行相关设置就可以了。 主键对应着关系主键方式示例: 拖动后会进入进行相关设置界面,根据需要进行设置: ?...设置完之后点击save保存,现在就建立好两个表格之间一对关系了: ? 主键对应着关系设置了唯一索引外建示例: 创建时候给一个列设置唯一索引: ? 建立一对关系: ?...一对一对关系表格设计也有两种方式,一种是自一对,第二种是主键对应关系外键。 自一对: ? 主键对应关系外键一对: ?...表格设计方式是使用一张关系维护来维护其他之间映射关系。 ?

50120

SpringDataJPA笔记(1)-基础概念和注解

@Table 标注常用选项是 name,用于指明数据库名 @Table标注还有一个两个选项 catalog 和 schema 用于设置所属数据库目录或模式,通常为数据库名。...one2one关系关系维护端主键作为外键指向关系被维护端主键,不再新建一个外键列 元数据属性说明: name:列名。...,@ManyToOne,@OneToMany,@ManyToMany 一对关联,对一关联,一对关联,关联 @JoinTable JoinTablemany-to-many关系所有者一边定义...entity class所有id fieldid class都要定义,且类型一样。 @MapKey 一对对多关系中,我们可以用Map来保存集合对象。...默认用主键值做key,如果使用复合主键,则用id class实例做key,如果指定了name属性,就用指定field值做key @OrderBy 一对对多关系中,有时我们希望从数据库加载出来集合对象是按一定方式排序

3.9K20
领券