亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于動態(tài)模板語言渲染的方法與流程

文檔序號:11864720閱讀:710來源:國知局

本發(fā)明屬于計算機技術(shù)研究領(lǐng)域,創(chuàng)造的一種基于動態(tài)模板語言渲染的方法。



背景技術(shù):

隨著社會的發(fā)展,社會對信息化的要求越來越重視,軟件開發(fā)迭代的速度也因此變得越來越快,這就要求軟件開發(fā)公司投入更多的人力物力來適應(yīng)高速發(fā)展的節(jié)奏。根據(jù)傳統(tǒng)的研發(fā)方法,開發(fā)人員花費大量的時間用于編碼,并且很大一部分是一些重復(fù)代碼的編寫。本方法使用多種模板引擎基于配置的方式動態(tài)生成SQL語法,并將大量重復(fù)使用的邏輯封裝成可調(diào)用的方法,大大加快軟件開發(fā)者的編碼速度,從而提高開發(fā)人員的工作效率,這也使得軟件開發(fā)的周期能顯著縮短。同時開發(fā)人員可以有更多的時間將工作重心放在更加需要重視的軟件設(shè)計上,有助于軟件質(zhì)量的提升。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的是針對項目需要書寫大量靜態(tài)的SQL語法,影響項目開發(fā)進度,衍生出的一種基于動態(tài)模板語言渲染的方法。

本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括如下具體步驟:

步驟(1):定義常用方法集合的模板,使用Velocity引擎的以vm格式保存,使用Freemarker引擎以ftl格式保存;

所述的常用方法包括:in參數(shù)的拼接方法、批量插入語法的生成方法等。

所述的常用方法集合的模板的定義:將使用率頻繁的語法結(jié)合模板語言抽取出可供調(diào)用的方法;

步驟(2):定義XML結(jié)構(gòu)定義文件xsd,該文件主要描述XML文檔的結(jié)構(gòu),用來檢驗XML文檔的合法性。

步驟(3):定義SQL語法的XML配置文件,具體的:根據(jù)步驟2的結(jié)構(gòu)定義文件,在XML中配置常用的SQL語法,可引用步驟1中定義的模板中的一個或多個常用方法;

步驟(4):加載XML配置文件,系統(tǒng)代碼根據(jù)XML配置文件中動態(tài)解析出SQL語法,然后根據(jù)SQL語法,同時配合jdbcTemplate對數(shù)據(jù)庫進行操作。

本發(fā)明有益效果如下:

本發(fā)明中通過將重復(fù)書寫的SQL邏輯配置成XML文件,并且提供了常用的模板方法,讓開發(fā)人員快速編碼,提高開發(fā)效率,另一方便也有助于代碼的統(tǒng)一管理,提升軟件質(zhì)量。

本發(fā)明主要目的是針對項目需要書寫大量靜態(tài)的SQL語法,影響項目開發(fā)進度,衍生出的一種基于動態(tài)模板語言渲染生成SQL語法的方法。可使用多種模板引擎(Velocity,Freemarker等),基于[統(tǒng)一]配置[可運行時更改生效]方式,運行時渲染SQL(NOT_ONLY_SQL),無框架依賴,可配合jdbc,jdbcTemplate等使用。

附圖說明

圖1為本發(fā)明對XML配置文件加載時的流程圖。

具體實施方式

下面對本發(fā)明作進一步的說明。

一種基于動態(tài)模板語言渲染的方法,包括如下具體步驟:

步驟(1):定義常用方法集合的模板,使用Velocity引擎的以vm格式保存,使用Freemarker引擎以ftl格式保存;

所述的常用方法包括:in參數(shù)的拼接方法、批量插入語法的生成方法等。

所述的常用方法集合的模板的定義具體如下:

將使用率頻繁的語法結(jié)合模板語言抽取出可供調(diào)用的方法;

//上述代碼是使用Velocity引擎定義的模板方法,主要定義了三個方法。bracket方法定義的是將數(shù)據(jù)集group通過調(diào)用around方法以括號的形式呈現(xiàn)。quto方法定義的是將數(shù)據(jù)集group通過調(diào)用around方法以引號的形式呈現(xiàn)。around方法是將傳入的group數(shù)據(jù)集用pre前綴,aft后綴,join分隔符進行拼接。

//上述代碼是使用Freemarker引擎定義的模板方法,主要定義了兩個方法。bracket方法定義的是將數(shù)據(jù)集collection通過調(diào)用around方法以括號的形式呈現(xiàn)。around方法是將傳入的collection數(shù)據(jù)集用left前綴,right后綴,join分隔符進行拼接。

上述兩個文件分別是基于Velocity和Freemarker定義的常用模板方法,主要作用就是定義一些SQL語法的拼接方法,這里只提供了一部分,開發(fā)人員在開發(fā)過程中可以總結(jié)出更多的模板方法。

步驟(2):定義XML結(jié)構(gòu)定義文件,該文件用來檢驗XML文件結(jié)構(gòu)的合法性,若不符合xsd文件的定義,改XML將無法進行正確的解析。xsd文件內(nèi)容示例如下:

步驟(3):定義SQL語法的XML配置文件,具體的:根據(jù)xsd文件定義的XML格式,配置各個元素的內(nèi)容。其中cmd-collection節(jié)點的engine元素配置的是解析的引擎類型,cmd節(jié)點的id元素配置的是供系統(tǒng)調(diào)用的方法名,pre-render節(jié)點配置的是具體的SQL語法,語法的部分邏輯可引用步驟1中定義的模板中的一個或多個常用方法;

XML文件實例如下:

以往我們將SQL跟JAVA代碼定義在一個文件中,并且大家各自為戰(zhàn),一些常用的語法都會不厭其煩的重復(fù)寫,這樣不但浪費時間而且當(dāng)出現(xiàn)問題的時候查找也比較繁瑣。而通過XML配置文件,把不同業(yè)務(wù)相同的邏輯定義好,開發(fā)人員可以根據(jù)需要直接調(diào)用相應(yīng)的方法即可。

步驟(4):加載XML配置文件,系統(tǒng)代碼根據(jù)XML配置文件中動態(tài)解析出SQL語法,然后根據(jù)SQL語法,同時配合jdbcTemplate對數(shù)據(jù)庫進行操作。

如圖1所示,對XML配置文件進行加載的時候,所涉及的類的說明如下:

ModelBuilder類主要用來解析SQL的XML配置文件,將配置文件中的cmd節(jié)點的內(nèi)容經(jīng)過解析后保存在CommandCol類類的屬性commands中,經(jīng)過渲染器接口Renderer渲染(主要是不同的引擎對模板方法的解析)后供組織器Organizer調(diào)用。

使用時我們在每個Dao實現(xiàn)類中定義一個Organizer對象,指定解析的XML文件路徑。Organizer類中定義XML文件cmd節(jié)點id為名稱的方法,調(diào)用該方法獲取到SQL語法,然后結(jié)合jdbcTemplate使用,達到對數(shù)據(jù)庫的增刪改查的目的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1