# springdata **Repository Path**: gxgeek/springdata ## Basic Information - **Project Name**: springdata - **Description**: Spring Data JPA 学习 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-04-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Spring Data 框架学习 ###复习JDBC CREATE TABLE `student` ( `name` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; ###练习JDBCTemplate ###学习 JPA @Entity javaEE 注解 表明实体类 jpa: hibernate: ddl-auto: create 多种类型参数 create updat create-drop @id 主键 @Id 标注用于声明一个实体类的属性映射为数据库的主键列。该属性通常置于属性声明语句之前,可与声明语句同行,也可写在单独行上。 @Id标注也可置于属性的getter方法之前。 @GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定。默认情况下,JPA 自动选择一个最适合底层数据库的主键生成策略:SqlServer对应identity,MySQL 对应 auto increment。 –IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; –AUTO: JPA自动选择合适的策略,是默认选项; –SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。 @Table(name="CUSTOMERS") 注解在类上 表别名 通过@Column注解设置,包含的可设置属性如下 .name:字段名 .unique:是否唯一 .nullable:是否可以为空 .inserttable:是否可以插入 .updateable:是否可以更新 .columnDefinition: 定义建表时创建此列的DDL .secondaryTable: 从表名。如果此列不建在主表上(默认建在主表),该属性定义该列所在从表的名字。