📜  将RESTful服务连接到JPA

📅  最后修改于: 2021-01-11 06:06:18             🧑  作者: Mango

将RESTful服务连接到JPA

创建用户实体和一些测试数据

让我们创建一个User实体和一个UserRepository,以便我们可以访问用户的详细信息。

步骤1:打开pom.xml文件并添加spring-boot-starter-data-jpa依赖项。


    org.springframework.boot
    spring-boot-starter-data-jpa

步骤2:通过在User类上方添加一个@Entity注释,使User类成为一个实体。

@Entity:实体不过是POJO(普通的旧Java对象)。它表示可以持久保存到数据库中的数据。它代表数据库中的表。实体的每个实例都代表表中的一行。我们不能将实体类声明为final

第3步:通过在Id变量上方添加一个@Id注释,使Id主键生效。另外,添加注释@GeneratedValue

@Id:它定义下面的成员字段是当前实体的主键。每个实体必须具有唯一定义该列的主键。

@GeneratedValue: @GeneratedValue批注可以应用于具有@Id批注的实体的主键属性或字段。它用于支持主键。我们必须在主键属性中添加@GeneratedValue批注,然后选择一个生成类型。默认的生成类型是GenerationType.AUTO。

User.java

package com.javatpoint.server.main.user;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.Past;
import javax.validation.constraints.Size;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
@ApiModel(description="All details about the user")
@Entity
public class User 
{
//making Id as primary key
@Id
@GeneratedValue
private Integer id;
@Size(min=5, message="Name should have atleast 5 characters")
@ApiModelProperty(notes="name should have atleast 5 characters")
private String name;
@Past
@ApiModelProperty(notes="Birth date should be in the past")
private Date dob;
//default constructor    
protected User()
{
    
}
public User(Integer id, String name, Date dob) 
{
super();
this.id = id;
this.name = name;
this.dob = dob;
}
public Integer getId() 
{
return id;
}
public void setId(Integer id) 
{
this.id = id;
}
public String getName() 
{
return name;
}
public void setName(String name) 
{
this.name = name;
}
public Date getDob() 
{
return dob;
}
public void setDob(Date dob) 
{
this.dob = dob;
}
@Override
public String toString() 
{
//return "User [id=" + id + ", name=" + name + ", dob=" + dob + "]";
return String.format("User [id=%s, name=%s, dob=%s]", id, name, dob);
}
}

在继续下一步之前,请删除注释pom.xml中的基本安全性依赖项。

步骤4:打开application.properties文件并启用H2控制台,以便我们可以看到在表中插入了哪些数据。

spring.h2.console.enabled=true

我们还需要启用SQL日志记录以查看正在执行的SQL语句。语句执行时,它将在日志中启动SQL日志记录。

spring.jpa.show-sql=true

现在,重新启动应用程序以获取更改。我们可以在下图中看到该表已创建。

步骤5:我们必须创建一个SQL文件,以便在用户表中插入数据。

右键单击文件夹src / main / resource- >新建-> Other->选择SQL File->提供文件名data.sql->单击Finish。

步骤6:在data.sql文件中,将数据插入到用户表中。我们插入了以下数据:

insert into user values(1, sysdate(), 'John');
insert into user values(2, sysdate(),'Robert');
insert into user values(3, sysdate(), 'Andrew');

运行应用程序。

步骤7:打开浏览器,然后键入http:// localhost:8080 / h2-console以连接H2控制台。确保它具有JDBC URL: jdbc:h2:mem:testdb 。不要在密码字段中写任何东西。

步骤8:点击Connect(连接)按钮登录。我们创建的表格出现在页面的左侧。

步骤10:输入查询select * from user ;

它显示我们已插入的记录表。