天天看點

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

進入 SAP BTP cockpit:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

把 CloudFoundry API endpoint 抄下來:

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

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

收到如下輸出:

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

OK

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

使用 cf login 登入:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

安裝對應的依賴:

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

在項目檔案夾根目錄的 ​

​.cdsrc.json​

​ 檔案裡,添加如下的配置:

{
    "build": {
        "target": "."
    },
    "hana" : { 
        "deploy-format": "hdbtable" 
    }
}      
如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

建立一個 HANA Cloud 執行個體:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫
如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫
如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

允許所有 ip:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

建立之後,等到其處于 Running 狀态:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

使用如下指令行進行部署:

cds deploy --to hana:bookstore-hana
如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

在 gen 檔案夾下生成了大量的 .hdbview 檔案:

如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫
如何在 SAP BTP Java 應用裡使用 SAP HANA 資料庫

除了初始化 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 資料庫

打開 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 資料庫

使用這個 url 能查詢到剛剛生成的訂單:

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