在 Spring Boot 中使用 Dataway 配置數(shù)據(jù)查詢接口

Dataway介紹

Dataway 是基于 DataQL 服務(wù)聚合能力车海,為應(yīng)用提供的一個(gè)接口配置工具。使得使用者無需開發(fā)任何代碼就配置一個(gè)滿足需求的接口。 整個(gè)接口配置侍芝、測試研铆、冒煙、發(fā)布州叠。一站式都通過 Dataway 提供的 UI 界面完成棵红。UI 會(huì)以 Jar 包方式提供并集成到應(yīng)用中并和應(yīng)用共享同一個(gè) http 端口,應(yīng)用無需單獨(dú)為 Dataway 開辟新的管理端口咧栗。?

這種內(nèi)嵌集成方式模式的優(yōu)點(diǎn)是逆甜,可以使得大部分老項(xiàng)目都可以在無侵入的情況下直接應(yīng)用 Dataway。進(jìn)而改進(jìn)老項(xiàng)目的迭代效率致板,大大減少企業(yè)項(xiàng)目研發(fā)成本交煞。?

Dataway 工具化的提供 DataQL 配置能力。這種研發(fā)模式的變革使得斟或,相當(dāng)多的需求開發(fā)場景只需要配置即可完成交付素征。 從而避免了從數(shù)據(jù)存取到前端接口之間的一系列開發(fā)任務(wù),例如:Mapper萝挤、BO御毅、VO、DO平斩、DAO亚享、Service、Controller 統(tǒng)統(tǒng)不在需要绘面。

Dataway 是 Hasor 生態(tài)中的一員欺税,因此在 Spring 中使用 Dataway 首先要做的就是打通兩個(gè)生態(tài)。根據(jù)官方文檔中推薦的方式我們將 Hasor 和 Spring Boot 整合起來揭璃。

第一步:引入相關(guān)依賴

hasor-spring 負(fù)責(zé) Spring 和 Hasor 框架之間的整合晚凿。

hasor-dataway 是工作在 Hasor 之上,利用 hasor-spring 我們就可以使用 dataway了瘦馍。

第二步:配置 Dataway歼秽,并初始化數(shù)據(jù)表

dataway 會(huì)提供一個(gè)界面讓我們配置接口,這一點(diǎn)類似 Swagger 只要jar包集成就可以實(shí)現(xiàn)接口配置情组。找到我們 springboot 項(xiàng)目的配置文件?application.properties

Dataway 一共涉及到 5個(gè)可以配置的配置項(xiàng)燥筷,但不是所有配置都是必須的。

其中?HASOR_DATAQL_DATAWAY院崇、

HASOR_DATAQL_DATAWAY_ADMIN?兩個(gè)配置是必須要打開的肆氓,默認(rèn)情況下 Datawaty 是不啟用的。

Dataway 需要兩個(gè)數(shù)據(jù)表才能工作底瓣,下面是這兩個(gè)數(shù)據(jù)表的簡表語句谢揪。下面這個(gè) SQL 可以在 dataway的依賴 jar 包中 “

META-INF/hasor-framework/mysql” 目錄下面找到,建表語句是用 mysql 語法寫的。

第三步:配置數(shù)據(jù)源

作為 Spring Boot 項(xiàng)目有著自己完善的數(shù)據(jù)庫方面工具支持拨扶。我們這次采用 druid + mysql + spring-boot-starter-jdbc 的方式凳鬓。

首先引入依賴

然后增加數(shù)據(jù)源的配置

如果項(xiàng)目已經(jīng)集成了自己的數(shù)據(jù)源,那么可以忽略第三步患民。

第四步:把數(shù)據(jù)源設(shè)置到 Hasor 容器中

Spring Boot 和 Hasor 本是兩個(gè)獨(dú)立的容器框架缩举,我們做整合之后為了使用 Dataway 的能力需要把 Spring 中的數(shù)據(jù)源設(shè)置到 Hasor 中。

首先新建一個(gè) Hasor 的 模塊酒奶,并且將其交給 Spring 管理蚁孔。然后把數(shù)據(jù)源通過 Spring 注入進(jìn)來。

Hasor 啟動(dòng)的時(shí)候會(huì)調(diào)用 loadModule 方法惋嚎,在這里再把 DataSource 設(shè)置到 Hasor 中杠氢。

第五步:在SprintBoot 中啟用 Hasor

這一步非常簡單,只需要在 Spring 啟動(dòng)類上增加兩個(gè)注解即可另伍。

第六步:啟動(dòng)應(yīng)用

應(yīng)用在啟動(dòng)過程中會(huì)看到 Hasor Boot 的歡迎信息

在后面的日志中還可以看到類似下面這些日志鼻百。

當(dāng)看到 “dataway api workAt?/api/” 、 dataway admin workAt?/interface-ui/信息時(shí)摆尝,就可以確定 Dataway 的配置已經(jīng)生效了温艇。

第七步:訪問接口管理頁面進(jìn)行接口配置

在瀏覽器中輸入 “

http://127.0.0.1:8080/interface-ui/” 就可以看到期待已久的界面了。

第八步:新建一個(gè)接口

Dataway 提供了2中語言模式堕汞,我們可以使用強(qiáng)大的 DataQL 查詢語言勺爱,也可以直接使用 SQL 語言(在 Dataway 內(nèi)部 SQL 語言也會(huì)被轉(zhuǎn)換為 DataQL 的形式執(zhí)行。)

同樣的方式我們使用 DataQL 的方式需要這樣寫:

其中 var query =?@@sql()<% ... %>?是用來定義SQL外部代碼塊讯检,并將這個(gè)定義存入 query 變量名中琐鲁。 <% %> 中間的就是 SQL 語句。

最后在 DataQL 中調(diào)用這個(gè)代碼塊人灼,并返回查詢結(jié)果围段。

當(dāng)接口寫好之后就可以保存發(fā)布了,為了測試方便投放,我選用 GET 方式奈泪。

接口發(fā)布之后我們直接請(qǐng)求:

http://127.0.0.1:8080/api/demos,就看到期待已久的接口返回值了灸芳。

最后總結(jié)

經(jīng)過上面的幾個(gè)步驟我們介紹了如何基于 Spring Boot 項(xiàng)目使用 Dataway 來簡單的配置接口涝桅。Dataway 的方式確實(shí)給人耳目一新,一個(gè)接口竟然可以如此簡單的配置出來無需開發(fā)任何一行代碼烙样,也不需要做任何 Mapping 實(shí)體映射綁定苹支。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市误阻,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖究反,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寻定,死亡現(xiàn)場離奇詭異,居然都是意外死亡精耐,警方通過查閱死者的電腦和手機(jī)狼速,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卦停,“玉大人向胡,你說我怎么就攤上這事【辏” “怎么了僵芹?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長小槐。 經(jīng)常有香客問我拇派,道長,這世上最難降的妖魔是什么凿跳? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任件豌,我火速辦了婚禮,結(jié)果婚禮上控嗜,老公的妹妹穿的比我還像新娘茧彤。我一直安慰自己,他們只是感情好疆栏,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布曾掂。 她就那樣靜靜地躺著,像睡著了一般承边。 火紅的嫁衣襯著肌膚如雪遭殉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天博助,我揣著相機(jī)與錄音险污,去河邊找鬼。 笑死富岳,一個(gè)胖子當(dāng)著我的面吹牛蛔糯,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播窖式,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蚁飒,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了萝喘?” 一聲冷哼從身側(cè)響起淮逻,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤琼懊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后爬早,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體哼丈,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年筛严,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了醉旦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桨啃,死狀恐怖车胡,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情照瘾,我是刑警寧澤匈棘,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站网杆,受9級(jí)特大地震影響羹饰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜碳却,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一队秩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昼浦,春花似錦馍资、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至使兔,卻和暖如春建钥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背虐沥。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工熊经, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人欲险。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓镐依,卻偏偏與公主長得像,于是被迫代替她去往敵國和親天试。 傳聞我的和親對(duì)象是個(gè)殘疾皇子槐壳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容