SpringCloud JPA图文教程
让我们看看如何将微服务连接到H2数据库。请按照以下步骤将微服务连接到JPA内存数据库。
步骤1: 打开 currency-exchange--的 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 来定义列,并指定列名称。
ExchangeValue.java
package com.codebaoku.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 -> New-> File->提供名称 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: codebaoku
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:codebaoku
步骤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。
现在,点击 Test Connection 按钮 ; 如果连接成功,则会显示消息 测试成功。
步骤8: 单击 Connect 按钮。它在页面的左侧显示了创建的表。
步骤9: 运行以下查询以查看数据。
SELECT *FROM EXCHANGE_VALUE;
它显示我们已插入 data.sql 文件中的数据。
在本节中,我们创建了内存数据库,并在数据库中插入了一些值。
在上一节中,我们创建了一个表内存数据库,并看到正确填充了所有数据。在本节中,我们将创建一个返回服务响应的存储库。步骤1: 创建一个名称为 ExchangeValueRepository ...