这里通过引入jpa来启动项目时,创建表结构,主要分为三点:
-
引入pom文件
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.20</version> </dependency>
-
yml中配置
spring: datasource: url: jdbc:mysql://localhost:3306/nodea?useSSL=false&serverTimezone=GMT%2B8 username: root password: 123456 jpa: database: mysql hibernate: ddl-auto: update show-sql: true naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
其中physical-strategy配置是为了使实体参数按照驼峰命名法生成表字段,否则会以下划线来代替。如operateType,默认表结构生成为operate_type,加上配置则生成operateType。
-
实体加上注解(注意@entity’和@id导入的jar是javax.persistence.*)
@ApiModel(value="Nodetemp对象", description="") @Entity @Table(name = "node_temp") public class Nodetemp implements Serializable { private static final long serialVersionUID = 1L; @Id private String id; @Column(name="operateType") private String operatetype; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getOperatetype() { return operatetype; } public void setOperatetype(String operatetype) { this.operatetype = operatetype; } @Override public String toString() { return "Nodetemp{" + "id=" + id + ", operatetype=" + operatetype + "}"; } }
@Entity : 对实体注释。任何Hibernate映射对象都要有这个注释
@Table:生成的表名
@Id:主键id
@Column:表字段生成的名称
知是行之始,行是知之成