📜  配置JPA和初始化的数据

📅  最后修改于: 2021-01-11 02:23:08             🧑  作者: Mango

配置JPA和初始化数据

在上一节中,我们已经对交换值的响应进行了硬编码。它来自数据库。在本节中,我们将创建到内存数据库的连接。

让我们看看如何将微服务连接到H2数据库。请按照以下步骤将微服务连接到JPA内存数据库。

步骤1:打开currency-exchange-service的pom.xml并添加以下两个依赖项。


com.h2database
h2
1.4.197
test


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

添加依赖项后,现在我们必须定义entity

步骤2:打开ExchangeValue.java文件,然后执行以下操作:

  • 在类级别添加@Entity批注。
  • 通过使用@Table注释定义表名称
  • 通过添加注释@Id为实体定义一个ID。
  • 通过在每个字段上方添加注释@Column来定义列,并指定列名称。

ExchangeValue.java

package com.javatpoint.microservices.currencyexchangeservice;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="Exchange_Value")
public class ExchangeValue 
{
@Id
@Column(name="id")
private Long id;
@Column(name="currency_from")
private String from;
@Column(name="currency_to")
private String to;
@Column(name="conversion_multiple")
private BigDecimal conversionMultiple;
@Column(name="port")
private int port;
//default conatructor
public ExchangeValue()
{    
}
//generating constructor using fields
public ExchangeValue(Long id, String from, String to, BigDecimal conversionMultiple) 
{
super();
this.id = id;
this.from = from;
this.to = to;
this.conversionMultiple = conversionMultiple;
}
//generating getters and setters
public int getPort() 
{
return port;
}
public void setPort(int port) 
{
this.port = port;
}
public Long getId() 
{
return id;
}
public String getFrom() 
{
return from;
}
public String getTo() 
{
return to;
}
public BigDecimal getConversionMultiple() 
{
return conversionMultiple;
}
}

我们已经创建了实体,现在我们必须向数据库中插入一些数据。

步骤3:创建一个data.sql文件,将数据插入数据库。

右键单击文件夹src / main / resources- >新建->文件->提供名称data.sql- >完成

步骤4:将数据插入data.sql文件。我们插入了以下数据:

data.sql

insert into exchange_value(id,currency_from,currency_to,conversion_multiple,port)
values(10001,'USD', 'INR' ,65,0);
insert into exchange_value(id,currency_from,currency_to,conversion_multiple,port)
values(10002,'EUR', 'INR' ,75,0);
insert into exchange_value(id,currency_from,currency_to,conversion_multiple,port)
values(10003,'AUD', 'INR' ,25,0);

步骤5:打开application.properties文件并启用H2控制台,配置URLdatasource 。缺省的JDBC URL是testdb 。我们可以指定我们自己的JDBC URL。

我们已经指定了JDBS URL: jdbc:h2:mem:javatpoint

application.properties

spring.application.name=currency-exchange-service
server.port=8000
spring.jpa.show-sql=true
spring.h2.console.enabled=true
spring.datasource.platform=h2
spring.datasource.url=jdbc:h2:mem:javatpoint

步骤6:重新启动应用程序。

步骤7:打开浏览器,然后输入URI http:// localhost:8000 / currency-exchange / from / USD / to / INR 。它返回响应,如下所示:

我们还可以看到已插入data.sql文件的数据库中的数据。要打开H2控制台,我们必须执行以下操作:

切记: JDBC URL必须与在application.properties文件中指定的相同。不要在“用户名密码”字段中输入任何内容。默认用户名是sa。

现在单击“测试连接”按钮如果连接成功,则显示消息“测试成功”。

步骤8:点击“连接”按钮。它在页面的左侧显示创建的表。

步骤9:运行以下查询以查看数据。

SELECT *FROM EXCHANGE_VALUE;

它显示了我们插入到data.sql文件中的数据。

在本节中,我们创建了内存数据库,并在数据库中插入了一些值。