0
点赞
收藏
分享

微信扫一扫

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库


进入 SAP BTP cockpit:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_json

把 CloudFoundry API endpoint 抄下来:

​​https://api.cf.us10.hana.ondemand.com/​​

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_json_02

收到如下输出:


Setting API endpoint to ​​​​https://api.cf.us10.hana.ondemand.com/​​​​...
OK


如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_03

使用 cf login 登录:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_04

安装对应的依赖:


npm install --save-dev @sap/hdi-deploy


在项目文件夹根目录的 ​​.cdsrc.json​​ 文件里,添加如下的配置:

{
"build": {
"target": "."
},
"hana" : {
"deploy-format": "hdbtable"
}
}

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_05

创建一个 HANA Cloud 实例:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_json_06

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_07

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_应用程序_08

允许所有 ip:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_应用程序_09

创建之后,等到其处于 Running 状态:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_10

使用如下命令行进行部署:


cds deploy --to hana:bookstore-hana


如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_11

在 gen 文件夹下生成了大量的 .hdbview 文件:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_12

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_应用程序_13

除了初始化 SAP HANA 数据库之外,cds deploy 命令还在 项目根文件夹中创建了一个名为 ​​default-env.json​​​ 的文件。 此文件包含一组 ​​credentials​​​,用于连接到由命令创建的 SAP HANA HDI 容器。 CAP Java 能够自动从此文件中获取 SAP HANA ​​credentials​​,并将本地运行的应用程序配置为使用 SAP HANA HDI 容器作为数据库。

将应用程序部署到云时,Cloud Foundry 将通过 Open Service Broker API 将凭据作为服务绑定提供给应用程序。 同样在这种情况下,CAP Java 将自动获取 SAP HANA 凭据并为您配置应用程序,您将在下一个教程中看到。

所描述的功能可作为 CAP Java 中的插件使用。 因此,需要在项目中添加一个额外的 Maven 依赖项。 该依赖项将能够从 default-env.json 读取 SAP HANA 服务绑定,以自动配置 SAP HANA 连接。 此外,它还包括 SAP HANA JDBC 驱动程序。

需要在 ​​pom.xml​​ 里增添如下依赖性:

<dependency>
<groupId>com.sap.cds</groupId>
<artifactId>cds-feature-hana</artifactId>
</dependency>

使用命令行启动应用:


mvn spring-boot:run -Dspring-boot.run.profiles=cloud


Java 系统属性 -Dspring-boot.run.profiles=cloud 确保使用 SQLite 作为数据库的默认配置(仍在 application.yaml 中定义)不会被激活。

可以观察日志行 Loaded default-env.json from directory '/home/user/projects/bookstore' 和 Registered primary 'DataSource' bean definition for connected service 'bookstore-hana',这表明选择了 SAP HANA 配置被 Java 应用采纳了。

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_应用程序_14

打开 url:

​​https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/​​

使用 curl 创建一条新的订单:


curl -X POST ​​​​http://localhost:8080/odata/v4/OrdersService/Orders​​​​
-H "Content-Type: application/json"
-d '{ "currency_code": "USD", "items": [ { "book_ID": "b7bca6dd-0497-465e-9a5a-56f244174c8c", "amount": 1 } ] }'


成功生成了一条订单,id 如下:

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_json_15

使用这个 url 能查询到刚刚生成的订单:

​​https://workspaces-ws-pdwk4-app1.us10.trial.applicationstudio.cloud.sap/odata/v4/OrdersService/Orders​​

如何在 SAP BTP Java 应用里使用 SAP HANA 数据库_java_16



举报

相关推荐

0 条评论