将RESTful服务连接到JPA

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

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

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

<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-data-jpa</artifactId>  
</dependency>  

步骤2: 通过在User类的上方添加注解@Entity,将User类设置为实体。

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

步骤3: 通过在Id变量的上方添加注解@Id,将Id设置为主键。还要添加注解@GeneratedValue

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

@GeneratedValue: 可以应用于带有@Id注解的实体的主键属性或字段。它用于支持主键。我们必须将@GeneratedValue注解添加到主键属性上,并选择一个生成类型。默认的生成类型是GenerationType.AUTO。

User.java

package cn.javatiku.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  

现在重新启动应用程序以应用更改。我们可以在下面的图像中看到表已经被创建。

restful-web-services-jpa.png

步骤5: 我们需要创建一个SQL文件来在user表中插入数据。

右键单击文件夹src/main/resource -> New ->Other -> 选择SQL File -> 输入文件名data.sql -> 点击完成。

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

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。不要在密码字段中输入任何内容。

restful-web-services-jpa2.png

步骤8: 点击Connect按钮登录。我们创建的表将显示在页面的左侧。

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

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

restful-web-services-jpa3.png

标签: spring, Spring教程, Spring语言学习, Spring框架, Spring框架教程, Spring框架高级教程, spring boot, spring boot入门教程, spring boot学习教程, spring boot下载, spring boot框架入门, spring boot面试题, spring boot笔试题, spring boot学习指南, spring boot技术