国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SAP CAP篇二:為Service加上數(shù)據(jù)庫支持

這篇具有很好參考價(jià)值的文章主要介紹了SAP CAP篇二:為Service加上數(shù)據(jù)庫支持。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在篇一快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn)中,可見使用SAP CAP (Cloud Programming Model)確實(shí)可以提高開發(fā)效率。尤其是Java技術(shù)棧上,對(duì)比于之前使用Olingo框架來實(shí)現(xiàn)oData,使用SAP CAP真的可以做到指數(shù)級(jí)別的效率提升。

當(dāng)然,篇一中介紹的Service只使用了內(nèi)存來存儲(chǔ)和讀取數(shù)據(jù)。本篇將加上數(shù)據(jù)庫支持。

本系列文章

SAP CAP篇一: 快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn)
SAP CAP篇二:為Service加上數(shù)據(jù)庫支持
SAP CAP篇三:定義Model
SAP CAP篇四:為CAP添加Fiori Elements程序(1)
SAP CAP篇五:為CAP添加Fiori Elements程序(2)
SAP CAP篇六:為CAP添加Fiori Elements程序(3)
SAP CAP篇七:為CAP添加Fiori Launchpad入口 (Sandbox環(huán)境)
SAP CAP篇八:為CAP添加App Router并支持Fiori Launchpad (Sandbox環(huán)境)
SAP CAP篇九:升級(jí)為SAP CDS 7.0, CAP Java 2以及Spring Boot 3
SAP CAP篇十:理解Fiori UI的Annoation定義
SAP CAP篇十一:支持Media Object:圖片、附件等
SAP CAP篇十二:AppRouter 深入研究

前期準(zhǔn)備

根據(jù)SAP CAP的官方文檔,CAP可以非常容易地添加數(shù)據(jù)庫堅(jiān)持。然而,所有的數(shù)據(jù)庫中,支持得最好的當(dāng)然是SAP自家的HANA數(shù)據(jù)庫??上?,SAP HANA數(shù)據(jù)庫作為企業(yè)級(jí)數(shù)據(jù)庫,無論版權(quán)、安裝環(huán)境都不是本地環(huán)境能支持的。所以本篇中使用Sqlite作為數(shù)據(jù)庫。

值得提醒的是,SAP CAP生成的Java項(xiàng)目,在沒有指定數(shù)據(jù)庫的情況下,默認(rèn)使用H2 In-memory數(shù)據(jù)庫。
SAP CAP篇二:為Service加上數(shù)據(jù)庫支持
另外,有一個(gè)有意思的點(diǎn)是,SAP官方文檔中提及:

The CAP Java runtime is tested with PostgreSQL 12.

但是使用PostgreSQL通常搭建一個(gè)Docker,這個(gè)雖然很容易,但是簡(jiǎn)單起見,還是使用Sqlite吧。

首先,安裝sqlite數(shù)據(jù)庫。在項(xiàng)目文件夾下運(yùn)行NPM指令:

npm i -D sqlite3

其次,在Visual Studio Code中,安裝額外的Plugin:

  • Sqlite Viewer
    這個(gè)Plugin允許在Visual Studio Code直接打開Sqlite文件。因?yàn)槲覀冊(cè)谶@個(gè)Service中只需要對(duì)數(shù)據(jù)庫進(jìn)行查看,所以安裝一個(gè)Viewer就足夠了。

添加一個(gè)基于數(shù)據(jù)庫表的Entity

創(chuàng)建db文件夾

在項(xiàng)目的根目錄中,創(chuàng)建db文件夾。

創(chuàng)建schema.cds文件

創(chuàng)建schema.cds,并添加如下的Entity:

entity DBEntities {
    key ID : Integer;
    title  : String(111);
    descr  : String(1111);
}

初始化數(shù)據(jù)庫表

CAP還支持對(duì)數(shù)據(jù)庫的表進(jìn)行初始化。這個(gè)初始化需要對(duì)應(yīng)的csv文件。
首先,在db文件夾中,添加data文件夾。
其次,在data文件夾中添加文件DBEntities.csv

ID;title;descr
1;test1; Desc of test1
2;test2; Desc of test2

在Service中引用剛剛創(chuàng)建的Entity

修改Service Definition

修改Service Defintion的cds文件。

service DemoService {
    @cds.persistence.skip: true
    entity DemoEntity {
        key ID: Integer;
        title: String(111);
        descr: String(1111);
    }

    entity DBEntities as projection on DBEntities;
}

注意,這里在上篇的DemoEntity中加上了@cds.persistence.skip: true的annotation。這里的目的確??蚣懿恍枰獮樵揈ntity創(chuàng)建數(shù)據(jù)庫表。

創(chuàng)建數(shù)據(jù)庫

現(xiàn)在,可以創(chuàng)建數(shù)據(jù)庫了。

cds deploy --to sqlite

執(zhí)行上述命令之后,會(huì)在項(xiàng)目的根目錄下創(chuàng)建了db.sqlite文件。

可以在Visual Studio Code打開該文件來查看對(duì)應(yīng)的數(shù)據(jù)庫表是不是已經(jīng)創(chuàng)建成功。還可以查看數(shù)據(jù)庫中是否已經(jīng)有初始化數(shù)據(jù)。

SAP CAP篇二:為Service加上數(shù)據(jù)庫支持

SAP CAP篇二:為Service加上數(shù)據(jù)庫支持

這時(shí)可以發(fā)現(xiàn)package.json文件已經(jīng)發(fā)生修改:

  "cds": {
    "requires": {
      "db": {
        "kind": "sqlite",
        "credentials": {
          "database": "db.sqlite"
        }
      }
    }
  }

修改程序,讓程序使用剛剛創(chuàng)建的數(shù)據(jù)庫文件

文章開頭已經(jīng)提及,默認(rèn)Java項(xiàng)目會(huì)使用H2數(shù)據(jù)庫。所以,要使用Sqlite,需要配置application.yml文件:

---
spring:
  config:
    activate:
      on-profile: sqlite
  datasource:
    url: "jdbc:sqlite:/db.sqlite"
    driver-class-name: org.sqlite.JDBC
    hikari:
      maximum-pool-size: 1

運(yùn)行程序

通過Maven命令來運(yùn)行程序,并指定使用sqlite:

mvn spring-boot:run -D"spring-boot.run.profiles"=sqlite

這時(shí)還可以使用Postman來進(jìn)行測(cè)試,并確認(rèn)數(shù)據(jù)庫表是不是被更新。雖然一行代碼沒寫,SAP CAP已經(jīng)全部默認(rèn)實(shí)現(xiàn)了。文章來源地址http://www.zghlxwxcb.cn/news/detail-421195.html

到了這里,關(guān)于SAP CAP篇二:為Service加上數(shù)據(jù)庫支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • SAP CAP篇九:升級(jí)為SAP CDS 7.0, CAP Java 2以及Spring Boot 3

    SAP CAP篇一: 快速創(chuàng)建一個(gè)Service,基于Java的實(shí)現(xiàn) SAP CAP篇二:為Service加上數(shù)據(jù)庫支持 SAP CAP篇三:定義Model SAP CAP篇四:為CAP添加Fiori Elements程序(1) SAP CAP篇五:為CAP添加Fiori Elements程序(2) SAP CAP篇六:為CAP添加Fiori Elements程序(3) SAP CAP篇七:為CAP添加Fiori Launchpad入口 (Sandbox環(huán)境)

    2024年02月12日
    瀏覽(14)
  • 【云原生技術(shù)】云計(jì)算中的數(shù)據(jù)庫管理服務(wù)(Database as a Service, DBaaS)簡(jiǎn)介

    云計(jì)算中的數(shù)據(jù)庫管理服務(wù)(Database as a Service, DBaaS)是一種托管式服務(wù),它允許用戶在云環(huán)境中創(chuàng)建、使用和管理數(shù)據(jù)庫,而無需關(guān)心底層的硬件、軟件或日常維護(hù)任務(wù)。這些服務(wù)通常由云服務(wù)提供商提供,如 Amazon Web Services (AWS)、Microsoft Azure 和 Google Cloud Platform (GCP)。 主要

    2024年01月23日
    瀏覽(20)
  • Nacos支持達(dá)夢(mèng)數(shù)據(jù)庫方法

    Nacos支持達(dá)夢(mèng)數(shù)據(jù)庫方法

    第一步: 從https://github.com/alibaba/nacos/tree/2.1.0下載源碼。 下載nacos-2.1.0 部署包 https://github.com/alibaba/nacos/tags 第二步: 修改nacos-2.1.0configsrcmainjavacomalibabanacosconfigserverconstantPropertiesConstant文件,并編譯生成PropertiesConstant.class文件。 第三步: 修改nacos-2.1.0configsrcmainjav

    2024年02月07日
    瀏覽(25)
  • etcd底層支持的數(shù)據(jù)庫有哪些

    etcd底層的數(shù)據(jù)庫可以更換。在當(dāng)前版本的etcd中,它使用的是BoltDB作為默認(rèn)的后端存儲(chǔ)引擎。但是,etcd提供了接口允許您更換數(shù)據(jù)庫后端,以便根據(jù)需要選擇更合適的存儲(chǔ)引擎。 以下是etcd支持的一些后端數(shù)據(jù)庫選項(xiàng): BoltDB(默認(rèn)) :BoltDB是一個(gè)嵌入式的鍵值存儲(chǔ)數(shù)據(jù)庫,具

    2024年02月15日
    瀏覽(22)
  • CYQ.Data 支持 KingbaseES人大金倉數(shù)據(jù)庫

    CYQ.Data 支持 KingbaseES人大金倉數(shù)據(jù)庫

    KingbaseES是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),也被稱為人大金倉數(shù)據(jù)庫。KingbaseES 是北京人大金倉信息技術(shù)股份有限公司研發(fā)的,具有自主知識(shí)產(chǎn)權(quán)的通用數(shù)據(jù)庫產(chǎn)品。 該產(chǎn)品面向事務(wù)處理類應(yīng)用,兼顧各類數(shù)據(jù)分析類應(yīng)用,可用做管理信息系統(tǒng)、業(yè)務(wù)及生產(chǎn)系統(tǒng)、決策支持系統(tǒng)、

    2024年03月10日
    瀏覽(102)
  • NineData已支持「最受歡迎數(shù)據(jù)庫」PostgreSQL

    NineData已支持「最受歡迎數(shù)據(jù)庫」PostgreSQL

    根據(jù)在 Stack Overflow 發(fā)布的 2023 開發(fā)者調(diào)研報(bào)告中顯示,PostgreSQL 以 45% vs 41% 的受歡迎比率戰(zhàn)勝 MySQL,成為新的最受歡迎的數(shù)據(jù)庫。NineData 也在近期支持了 PostgreSQL,用戶可以在 NineData 平臺(tái)上進(jìn)行創(chuàng)建數(shù)據(jù)庫/Schema、管理用戶與角色、導(dǎo)出數(shù)據(jù)、執(zhí)行 SQL 等操作。另外,NineData

    2024年02月15日
    瀏覽(26)
  • CYQ.Data 支持 DaMeng 達(dá)夢(mèng)數(shù)據(jù)庫

    CYQ.Data 支持 DaMeng 達(dá)夢(mèng)數(shù)據(jù)庫

    達(dá)夢(mèng)數(shù)據(jù)庫(DMDB)是中國自主研發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由達(dá)夢(mèng)科技股份有限公司開發(fā)。 達(dá)夢(mèng)數(shù)據(jù)庫提供了企業(yè)級(jí)的數(shù)據(jù)庫解決方案,廣泛應(yīng)用于金融、電信、政府、制造等行業(yè)領(lǐng)域。 達(dá)夢(mèng)數(shù)據(jù)庫具有以下特點(diǎn)和優(yōu)勢(shì): 高性能:具備高性能的并發(fā)處理能力,能夠支持大

    2024年03月09日
    瀏覽(22)
  • 看!MySQL 8.2 數(shù)據(jù)庫支持讀寫分離啦!

    看!MySQL 8.2 數(shù)據(jù)庫支持讀寫分離啦!

    MySQL 8.2.0創(chuàng)新版本已于2023-10-17發(fā)布,MySQL Router 8.2 支持?jǐn)?shù)據(jù)庫的讀/寫分離,這里將在InnoDB Cluster集群中演示數(shù)如何進(jìn)行讀寫分離,本篇內(nèi)容包括:MySQL Server數(shù)據(jù)庫安裝、MySQL Shell安裝、MySQL Router安裝、InnoDB Cluster安裝與讀寫分離演示,若您只關(guān)注讀寫分離的演示,可直接跳至最

    2024年02月05日
    瀏覽(16)
  • 往docker中cloudbeaver的容器添加達(dá)夢(mèng)數(shù)據(jù)庫、impala數(shù)據(jù)庫連接支持(cloudbeaver添加自定義數(shù)據(jù)連接)

    往docker中cloudbeaver的容器添加達(dá)夢(mèng)數(shù)據(jù)庫、impala數(shù)據(jù)庫連接支持(cloudbeaver添加自定義數(shù)據(jù)連接)

    cloudbeaver默認(rèn)沒有開放impala連接,更不會(huì)支持國產(chǎn)數(shù)據(jù)庫了 docker安裝運(yùn)行cloudbeaver可以參考文章:docker安裝運(yùn)行CloudBeaver并設(shè)置默認(rèn)語言為中文 本文跳過cloudbeaver鏡像拉取,直接就開始實(shí)現(xiàn)自定義數(shù)據(jù)庫連接功能 1.1、新建掛載的宿主機(jī)根目錄 掛載的文件都放置該目錄下 1.2、運(yùn)

    2024年01月19日
    瀏覽(57)
  • Apache DolphinScheduler 支持使用 OceanBase 作為元數(shù)據(jù)庫啦!

    Apache DolphinScheduler 支持使用 OceanBase 作為元數(shù)據(jù)庫啦!

    DolphinScheduler是一個(gè)開源的分布式任務(wù)調(diào)度系統(tǒng),擁有分布式架構(gòu)、多任務(wù)類型、可視化操作、分布式調(diào)度和高可用等特性,適用于大規(guī)模分布式任務(wù)調(diào)度的場(chǎng)景。目前DolphinScheduler支持的元數(shù)據(jù)庫有Mysql、PostgreSQL、H2,如果在業(yè)務(wù)中需要更好的性能和擴(kuò)展性,可以在DolphinSche

    2024年02月12日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包