Working with Data
在本步骤中,您将学习如何使用 Spring 创建数据模型并以可视方式展示数据。在本步骤结束时,在上一步创建的应用程序 创建基本应用 将有一个显示客户数据的表格。跟随本教程将使您了解:
- Spring 注释
- 数据管理
- webforJ
Table组件
完成此步骤后,您将创建一个版本的 2-working-with-data。
运行应用程序
在开发应用程序时,您可以使用 2-working-with-data 作为比较。要查看应用程序的运行效果:
-
导航到包含
pom.xml文件的顶级目录,如果您正在跟随 GitHub 上的版本,这就是2-working-with-data。 -
使用以下 Maven 命令在本地运行 Spring Boot 应用程序:
mvn
运行应用程序会自动打开一个新的浏览器窗口,地址为 http://localhost:8080。
依赖项和配置
本教程使用 H2 数据库,在后续步骤中,使用 Jakarta 持久化 API (JPA) 通过 Spring Data JPA。这需要您向 pom.xml 添加依赖项并更新 application.properties。在本教程的剩余部分,您将最后一次需要修改这两个文件。
在您的 POM 中,添加以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
在 application.properties 中,位于 src/main/resources,添加以下内容:
# H2 数据库配置
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
# JPA 配置
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.jpa.hibernate.ddl-auto=update
本教程使用内存数据库和默认凭证访问数据。请参阅 Spring 的 数据访问 文档,以了解特定的 Spring Boot 配置选项。
Spring beans
使用 Spring 框架的一个关键部分是理解什么是 beans。Beans 是具有定义 Spring 注释的对象,这使得 Spring 更轻松地配置它们,知道类的预期目的。请访问 Spring 的 Bean 概述 文档以了解更多信息。
创建数据模型
在可视化显示或创建数据之前,本教程需要一种方式来表示每个客户的数据,包括他们的名字、国家和公司。使用 Spring,这通过具有 @Entity 注释的类来完成。
在 src/main/java/com/webforj/tutorial/entity 中创建一个名为 Customer.java 的类。它应该具有 @Entity 注释,并包括客户值的 getter 和 setter 方法,id 除外。对于 id 值,使用 @Id 和 @GeneratedValue 注释来确保每个客户都获得一个唯一的 id。
@Entity
@Table(name = "customers")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName = "";
private String lastName = "";
private String company = "";
private Country country = Country.UNKNOWN;
public enum Country {
UNKNOWN,
GERMANY,
ENGLAND,
ITALY,
USA
}
public Customer(String firstName, String lastName, String company, Country country) {
setFirstName(firstName);
setLastName(lastName);
setCompany(company);
setCountry(country);
}
public Customer(String firstName, String lastName, String company) {
this(firstName, lastName, company, Country.UNKNOWN);
}
public Customer(String firstName, String lastName) {
this(firstName, lastName, "");
}
public Customer(String firstName) {
this(firstName, "");
}
public Customer() {
}
public void setFirstName(String newName) {
firstName = newName;
}
public String getFirstName() {
return firstName;
}
public void setLastName(String newName) {
lastName = newName;
}
public String getLastName() {
return lastName;
}
public void setCompany(String newCompany) {
company = newCompany;
}
public String getCompany() {
return company;
}
public void setCountry(Country newCountry) {
country = newCountry;
}
public Country getCountry() {
return country;
}
public Long getId() {
return id;
}
}
有了 Customer 数据模型,您现在可以开始向应用程序添加业务逻辑。
管理数据
创建数据模型后,您将创建一个存储库和服务来管理客户数据。在应用程序中创建这些类型的类使您能够包括添加、删除和更新客户记录的操作。