SQL主键和外键:结论主键和外键是数据库设计中的重要概念,因为它们有助于建立表之间的关系并帮助确保数据的完整性。...一个主键可以唯一地识别一个表中的行,而一个外键则是通过引用相关表的主键将两个表联系在一起。这里你应该注意的最重要的区别是,主键不能有NULL值,而外键可以接受NULL值。...什么是外键外键是一个表中的一个列(或一组列),指的是另一个表中的主键。它被用来在两个表之间建立联系,并被用来在数据库中执行参考完整性。外键基本上是一个表中的字段/列,类似于其他表的主键。...与主键不同,一个表可以有一个以上的外键。而且,在关系数据库中,外键可以包含重复值和空值。一个外键的值可以从子表中删除。...数据库中主键和外键的重要区别下表强调了主键和外键之间的所有重要区别Key主键外键Basic它用于唯一地识别表中的数据。它用于维护表之间的关系。Null它不可能是NULL。它可以接受NULL值。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired: 自动导入依赖的bean @Service: 一般用于修饰service层的组件 @Repository: 使用@Repository注解可以确保DAO或者repositories...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...@JoinColumn(name=”loginId”): 一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired:自动导入依赖的bean @Service:一般用于修饰service层的组件 @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...@JoinColumn(name=”loginId”):一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
@JsonBackReference解决嵌套外链问题。...例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired:自动导入依赖的bean @Service:一般用于修饰service层的组件 @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...@JoinColumn(name=”loginId”):一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的 classpath 下存在 HSQLDB,并且你没有手动配置任何数据库连接 beans,那么我们将自动配置一个内存型(in-memory)数据库”。...如果没有配置的话,Spring Boot 会扫描启动类所在包下以及子包下的使用了 @Service,@Repository 等注解的类。...@Autowired:自动导入依赖的 bean @Service:一般用于修饰 service 层的组件 @Repository:使用 @Repository 注解可以确保 DAO 或者 repositories...把配置好的 Bean 拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到 bean 也不报错。...@JoinColumn(name=”loginId”): 一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
个人理解相当于,如果扫描到有@Component @Controller @Service等这些注解的类,则把这些类注册为bean*; @Configuration: 指出该类是 Bean 配置的信息源...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作; 当加上(required=false)时,就算找不到bean也不报错; @Qualifier...= “repair_seq”, sequenceName = “seq_repair”, allocationSize = 1): name为sequence的名称,以便使用,sequenceName...; @JsonIgnore: 作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响; @JoinColumn(name=”loginId”): 一对一:本表中指向另一个表的外键...一对多:另一个表指向本表的外键。 @OneToOne @OneToMany @ManyToOne: 对应Hibernate配置文件中的一对一,一对多,多对一。
),@ResponseBody和@Controller的合集。...例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired:自动导入依赖的bean @Service:一般用于修饰service层的组件 @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...@JoinColumn(name=”loginId”):一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired:自动导入依赖的bean @Service:一般用于修饰service层的组件 @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...@JoinColumn(name=”loginId”): 一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired:自动导入依赖的bean @Service:一般用于修饰service层的组件 @Repository:使用@Repository注解可以确保DAO或者repositories提供异常转译...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...@JoinColumn(name=”loginId”):一对一本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...11、@Autowired:自动导入依赖的bean 12、@Service:一般用于修饰service层的组件 13、@Repository:使用@Repository注解可以确保DAO或者repositories...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...11、@JoinColumn(name=”loginId”):一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
例如,如果你的classpath下存在HSQLDB,并且你没有手动配置任何数据库连接beans,那么我们将自动配置一个内存型(in-memory)数据库”。...@Autowired :自动导入依赖的bean @Service :一般用于修饰service层的组件 @Repository :使用@Repository注解可以确保DAO或者repositories...把配置好的Bean拿来用,完成属性、方法的组装,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。当加上(required=false)时,就算找不到bean也不报错。...、IDENTITY、native等,Auto表示可在多个数据库间切换),指定sequence的名字是repair_seq。...@JoinColumn(name=”loginId”): 一对一:本表中指向另一个表的外键。一对多:另一个表指向本表的外键。
外键和表关系 在MySQL中,表有两种引擎,一种是InnoDB,另外一种是myisam。如果使用的是InnoDB引擎,是支持外键约束的。外键的存在使得ORM框架在处理表关系的时候异常的强大。...比如有一个Category和一个Article两个模型。一个Category可以有多个文章,一个Article只能有一个Category,并且通过外键进行引用。...models.CASCADE) category = models.ForeignKey("Category",on_delete=models.CASCADE) 以上使用ForeignKey来定义模型之间的关系...即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据。 3.SET_NULL:设置为空。如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空。...如果外键的那条数据被删除了,那么本条数据上就将这个字段设置为默认值。如果设置这个选项,前提是要指定这个字段一个默认值。 5.SET():如果外键的那条数据被删除了。
领取专属 10元无门槛券
手把手带您无忧上云