一、编写实体类进行表关联

1、在一张表的关联属性上添加@OneToMany注解(关联属性用来记录多的一方的信息,是个集合,一般用set)

2、在另一个实体类的关联属性上添加@ManyToOne注解和 @JoinColumn(name="custid",referencedColumnName = "cust_id")注解

二、编写dao:两个dao都继承JpaRepository<实体类名,主键属性>

三、编写测试类(用法)

package cn.lijun.jpa;

import cn.lijun.jpa.dao.CustomerDao2;
import cn.lijun.jpa.dao.LinkManDao;
import cn.lijun.jpa.entity.Customer2;
import cn.lijun.jpa.entity.LinkMan;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.annotation.Commit;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.transaction.annotation.Transactional; @RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")
public class OneToManyTest {
@Autowired
private CustomerDao2 customerDao2;
@Autowired
private LinkManDao linkManDao;
@Test
@Transactional
@Commit
public void addCustomer2(){
// 1每个实体类 创建dao
//2创建Customer2对象
Customer2 customer2 = new Customer2();
customer2.setCustName("张无忌");
customer2.setCustAddress("光明顶");
customer2.setCustLevel("教主");
//3创建LinkMan对象
LinkMan linkMan1 = new LinkMan();
linkMan1.setLkmName("赵敏");
linkMan1.setLkmMobile("13111111");
LinkMan linkMan2 = new LinkMan();
linkMan2.setLkmName("小昭");
linkMan2.setLkmMobile("13166661");
LinkMan linkMan3 = new LinkMan();
linkMan3.setLkmName("灭绝师太");
linkMan3.setLkmMobile("13166661111");
// 4 配置客户和联系人之间的关系
customer2.getLinkMEN().add(linkMan1);
customer2.getLinkMEN().add(linkMan2);
customer2.getLinkMEN().add(linkMan3);
linkMan1.setCustomer(customer2);
linkMan2.setCustomer(customer2);
linkMan3.setCustomer(customer2);
//5 使用dao 把数据写入数据库
customerDao2.save(customer2);
linkManDao.save(linkMan1);
linkManDao.save(linkMan2);
linkManDao.save(linkMan3);
}
}

  

springData表关系:一对多的更多相关文章

  1. Django数据模型--表关系(一对多)

    一.一对一关系 使用方法:models.ForeignKey(要关联的模型) 举例说明:年级.教师和学生 from django.db import models class Grade(models ...

  2. SpringData表关系:多对多

    一.编写实体类配置关联关系: 1.多对多使用注解@ManyToMany配置:a. 在实体中添加一个集合属性 b.在属性上添加ManyToMany注解 c.@JoinTable 注解配置关联关系(nam ...

  3. springData表关系:一对一

    一.编写两个实体类 1.一对一关系实现:a:使用外键关联 b:使用主键关联,两个表的主键相同 2.外键方案:配置关联关系:两个实体类互相关联,并且在关联的属性上添加一个@OneToOne代表一个对一个 ...

  4. Hibernate的多表关系

    多表关系 一对多/多对一 O 对象 一的一方使用集合. 多的一方直接引用一的一方. R 关系型数据库 多的一方使用外键引用一的一方主键. M 映射文件: 一: <set name="& ...

  5. MySQL之表关系

    MySQL表关系 一对多关系 一对多与多对一是一个概念,指的是一个实体的某个数据与另外一个实体的多个数据有关联关系. 举例,学校中一个学.院可以有很多的学生,而一个学生只属于某一个学院(通常情况下), ...

  6. MySQL约束条件 表关系建立 查询数据

    约束条件 unsigned 无符号 即为非负数,用此类型可以增加数据长度 例如 tinyint最大范围是127,那tinyint unsigned 最大就可以到 127 * 2 通常用在不会出现符号的 ...

  7. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理

    Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent  对一对多关系的处理以及在 Laravel Administra ...

  8. Python之路第十三天,高级(7)-详述数据库一对多,多对多表关系的设计以及如何查询

    一对多表设计和查询方法 #!/usr/bin/env python3 # Author: Zhangxunan from sqlalchemy import create_engine from sq ...

  9. EF5+MVC4系列(1) Podwerdesigner15.1设计数据库;PD中间表和EF实体模型设计器生成中间表的区别;EF5.0 表关系插入数据(一对多,多对多)

    在上一篇文章中, http://www.cnblogs.com/joeylee/p/3790980.html  我们用 PD15.1 来设计了数据库,并且生成 了sql数据库,现在我们用 vs2013 ...

随机推荐

  1. [PHP] 生成二维码(两种方法)

    方法一:(调用google二维码接口,本人测试网不好,不好用!) <?php //1.封装生成二维码图片的函数(方法) /** *利用google api生成二维码图片 * $content:二 ...

  2. 如何将dotnet core webapi发布到docker中…

    如何将dotnet core webapi发布到docker中 今天想起来撸一下docker,中途还是遇到些问题,但是这些问题都是由于路径什么的导致不正确,在这儿还是记录下操作过程,今天是基于wind ...

  3. Spring5:面向切面

    静态代理 缺点:一个真实角色就会产生一个代理角色,代码量会翻倍! 场景:要在写好的实现方法上加入日志功能(公共功能),不要修改原代码 1:原代码 业务接口: package com.spring; p ...

  4. python爬取优美图库海量图片,附加代码,一键爬取

    优美高清图片为大家提供高清美女套图赏析,非高清不录入,大家的网速要给力. 今天教大家爬取优美图库网站中高质量的图片!! 简单易上手哦~ 使用工具: Python 3.6 pycharm 相关环境: r ...

  5. 8个超好用的Python内置函数,提升效率必备(小白必看)

    python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...

  6. 去掉input阴影&隐藏滚动条&抛异常&预加载&curl传json

    1.隐藏滚动条:-webkit-scrollbar{ display:none; } 2.array_walk():数组里的每个元素执行一个自定义函数: array_map():数组里的每个元素执行一 ...

  7. CodeForces 674C Levels and Regions

    #include<bits/stdc++.h> using namespace std; const int maxn=2e5+5; int N,K,head,tair; int q[ma ...

  8. SaltStack的数据系统

    一.SaltStack数据系统的分类 1.Grains(收集的是静态数据) 官方使用文档:https://www.unixhot.com/docs/saltstack/topics/targeting ...

  9. Spring绑定请求参数过程以及使用@InitBinder来注册自己的属性处理器

    在工作中,经常会出现前台的请求参数由于无法被正常转型,导致请求无法进到后台的问题. 比如,我有一个User.其性别的属性被定义成了枚举,如下: public enum Gender { MALE(&q ...

  10. Vim Configuration

    安装原生态的Vim之后,界面是这样的: 行号,没有:自动缩进,没有:括号匹配,没有~ 为了我们使用的方便,进行一些基本的配置: sudo vim /etc/vim/vimrc 进入配置界面: 如下图进 ...