Springboot 實體類生成數據庫表
JPA:springboot -jpa:數據庫的一系列的定義數據持久化的標準的體系
學習的目的是:
利用springboot實現對數據庫的操作
第一步:添加springboot-data-jpa和數據庫的依賴關系
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
第二步:編寫yml文件的配置
server: port: 8001 spring: application: name: jih-manage datasource: name: test url: jdbc:mysql://111.231.231.56/jih username: root password: root type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver jpa: hibernate: ddl-auto: update show-sql: true
第三步:實體類中使用的注解
-
@Entity
實體類的注解 -
@Id
映射到表格中id的屬性 -
@Gernertervalue
添加其自增的屬性
第四步:啟動項目是否生成表格
補充的知識點:
根據實體類生成數據庫的表配置文件有倆種方式分別是yml和properties文件進行配置
yml文件:
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/facemap username: root password: root jpa: hibernate: ddl-auto: update show-sql: true
properties文件的寫法:
spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/dbgirl?characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=root spring.jpa.show-sql= true spring.jpa.hibernate.ddl-auto=update spring.jpa.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect spring.jackson.serialization.indent_output=false
有更加詳細介紹
參考網址:
//www.jfrwli.cn/article/222622.htm
實體類的寫法:
package com.example.demo; import javax.persistence.Entity; import javax.persistence.GeneratedValue; @Entity //實體類的注解 public class Girl { @Id //@id注意選擇這個javax.persistence @GeneratedValue private Integer id; private String cupSize; private Integer age; public Girl() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getCupSize() { return cupSize; } public void setCupSize(String cupSize) { this.cupSize = cupSize; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }
第五步:啟動項目即可
完成~
springboot繼承JPA根據實體類生成數據庫中的表
首先搭建springboot框架。搭建完成之后:
1. pom中添加的依賴
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!--mysql-connection--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.15</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies>
2. application.yml中配置jpa配置
server: port: 8080 spring: datasource: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/h5mall?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: 123456 hikari: minimum-idle: 5 idle-timeout: 180000 maximum-pool-size: 10 auto-commit: true pool-name: MyHikariCP connection-timeout: 30000 jpa: hibernate: ddl-auto: update show-sql: true
其中jpa下的jpa.hibernate.ddl-auto屬性值有如下:
-
ddl-auto:create
(每次運行該程序,沒有表格會新建表格,表內有數據會清空) -
ddl-auto:create-drop
(每次程序結束的時候會清空表) -
ddl-auto:update
(每次運行程序,沒有表格會新建表格,表內有數據不會清空,只會更新) -
ddl-auto:validate
(運行程序會校驗數據與數據庫的字段類型是否相同,不同會報錯)
一般情況下選擇update,其他屬性值慎用!
定義用戶實體類,通過注解映射成數據庫中的表
import javax.persistence.*; @Entity @Table(name = "user") @Data public class User { @Id @GeneratedValue private Long id; //name屬性為表的字段名。length為字段的長度 @Column(length = 30, name = "userId") private String userId; @Column(name = "userName", length = 20, columnDefinition="varchar(100) COMMENT '用戶名'") private String userName; @Column(name = "phone", length = 20) private String phone; @Column(name = "password", length = 30) private String password; @Column(name = "userRealName", length = 20) private String userRealName; @Column(name = "address", length = 20) private String address; }
啟動springboot項目
可看到控制臺上顯示了創建表中的
然后查看數據庫中是否生成了對應的表:
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_41988504/article/details/86073511