在上一节中, 我们对交换值的响应进行了硬编码。它来自数据库。在本节中, 我们将创建一个到内存数据库的连接。
让我们看看如何将微服务连接到H2数据库。请按照以下步骤将微服务连接到JPA内存数据库。
步骤1:打开currency-exchange-service的pom.xml并添加以下两个依赖项。
<
dependency>
<
groupId>
com.h2database<
/groupId>
<
artifactId>
h2<
/artifactId>
<
version>
1.4.197<
/version>
<
scope>
test<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-starter-data-jpa<
/artifactId>
<
version>
2.1.3.RELEASE<
/version>
<
/dependency>
添加依赖项后, 现在我们必须定义实体。
步骤2:打开ExchangeValue.java文件, 然后执行以下操作:
- 在类级别添加@Entity批注。
- 使用批注@Table定义表名称。
- 通过添加注释@Id为实体定义一个ID。
- 通过在每个字段上方添加注释@Column来定义列, 并指定列名称。
package com.srcmini.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 conatructorpublic ExchangeValue(){ }//generating constructor using fieldspublic 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 setterspublic 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控制台, 配置URL和数据源。缺省的JDBC URL是testdb。我们可以指定我们自己的JDBC URL。
我们已经指定了JDBS URL:jdbc:h2:mem:srcmini
application.properties
spring.application.name=currency-exchange-serviceserver.port=8000spring.jpa.show-sql=truespring.h2.console.enabled=truespring.datasource.platform=h2spring.datasource.url=jdbc:h2:mem:srcmini
步骤6:重新启动应用程序。
步骤7:打开浏览器, 然后输入URI http:// localhost:8000 / currency-exchange / from / USD / to / INR。它返回响应, 如下所示:
文章图片
我们还可以看到已插入data.sql文件的数据库中的数据。要打开H2控制台, 我们必须执行以下操作:
- 在浏览器中, 输入http:// localhost:8000 / h2-console。它显示以下页面:
文章图片
请记住:JDBC URL必须与在application.properties文件中指定的相同。不要在” 用户名和密码” 字段中输入任何内容。默认用户名是sa。
现在单击” 测试连接” 按钮;如果连接成功, 则显示消息” 测试成功” 。
文章图片
【Spring Cloud配置JPA和初始化数据】步骤8:点击” 连接” 按钮。它在页面的左侧显示创建的表。
文章图片
步骤9:运行以下查询以查看数据。
SELECT *FROM EXCHANGE_VALUE;
它显示了我们插入到data.sql文件中的数据。
文章图片
在本节中, 我们创建了内存数据库, 并在数据库中插入了一些值。
点击这里下载货币兑换服务
推荐阅读
- Spring Cloud创建一个JPA存储库示例
- Spring Cloud Config Server连接到本地Git存储库
- Spring Cloud使用Ribbon实现客户端负载平衡
- Spring Cloud微服务的优势是什么()
- 微服务架构有什么挑战()
- Spring、Spring Boot与Spring MVC之间有什么区别()
- Spring Boot使用模板引擎Thymeleaf实例
- Android 寮€婧愭鏋?( 涓?) 浜嬩欢鎬荤嚎---EventBus
- POJ - 3321 Apple Tree(树状数组)