• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    智能代碼生成引擎系統及方法技術方案

    技術編號:15690567 閱讀:149 留言:0更新日期:2017-06-24 03:03
    本發明專利技術公開了一種智能代碼生成引擎系統及方法,該系統包括數據庫表查詢展示配置模塊、數據表詳情查詢模塊和Beetl模板引擎模塊;數據庫表查詢展示配置模塊:用于查詢數據庫內所有表名,并提供可視化界面數據,給予用戶進行后續操作使用;數據表詳情查詢模塊:用于根據表名在數據庫中查詢表內容提供給模板引擎渲染數據;Beetl模板引擎模塊:用于根據表名和表內容,加載和解析預先定制的Beetl模板,將表名和表內容渲染數據并生成代碼文件。本發明專利技術可集成于項目中(可視化操作),也可單獨使用,大大減少了軟件開發人員的基礎編碼工作,進而提升軟件開發人員的工作效率。

    Intelligent code generating engine system and method

    The invention discloses an intelligent code generation engine system and method, the system includes a database query display configuration module, data sheet details query module and Beetl template engine module; database query display configuration module: for all queries the database table name, and provides a visual interface data, give the user the follow-up operation data; details: according to the query module table table name lookup table contents to the template engine to render the data in the database; the Beetl template engine module: according to the table names and contents, loading and analyzing pre customized Beetl template, the table names and contents of rendering data and generate the code files. The invention can be integrated in the project (visual operation) and can be used alone, greatly reducing the basic coding work of the software developer, and improving the work efficiency of the software developer.

    【技術實現步驟摘要】
    智能代碼生成引擎系統及方法
    本專利技術主要針對計算機應用
    ,具體目的是為在編程工作中提高個人的工作效率。
    技術介紹
    在現今的IT領域,開發人員的工作壓力越來越大,工作量也越來越多,很多非業務的基礎功能也需要消耗時間去編寫,這樣就導致了時間和精力的低效使用?,F有的代碼自動生成方法多數采用文本文檔模板替換特定字符的形式拿到文件流從而生成代碼,這樣必然導致模板編輯困難(變量的定義和替換賦值,固定文檔結構格式的調整等)和代碼生成效率的降低。
    技術實現思路
    針對上述現狀,本專利技術提供了一種智能代碼生成引擎及方法,可集成于項目中(可視化操作),也可單獨使用,大大減少了軟件開發人員的基礎編碼工作,進而提升軟件開發人員的工作效率。本專利技術一種智能代碼生成引擎,其特殊之處在于,包括數據庫表查詢展示配置模塊、數據表詳情查詢模塊和Beetl模板引擎模塊;所述數據庫表查詢展示配置模塊:用于查詢數據庫內所有表名,并提供可視化界面數據,給予用戶進行后續操作使用;所述數據表詳情查詢模塊:用于根據所述表名在數據庫中查詢表列相關詳細內容提供給模板引擎渲染數據;所述Beetl模板引擎模塊:用于根據所述表名和表中列相關詳細內容,加載和解析預先定制的Beetl模板,將所述表名和表中列相關詳細內容組裝參數集合渲染模板數據并生成代碼文件。進一步地,所述預先定制的Beetl模板為本人現在使用的SSI框架下的代碼模板,包括控制層模板、數據庫映射關系配置層模板、實體類模板、服務層模板、前端頁面層模板。采用此架構是為了更好的適應目前團隊項目的開發使用(穩定性、靈活性等),也可以采用自己的框架結構,可靈活使用。更進一步地,所述前端頁面層模板包括添加功能模板、列表功能模板、修改功能模板和查看功能模板。此處前端的四種模板實現了基礎的增、刪、改、查功能,也可以根據自己所在項目的具體情況添加配置更多常用功能模塊到模板文件。更進一步地,所述服務層模板包括接口類模板和接口實現類模板,此處采用接口與業務實現分離的模式,目的是讓代碼更簡潔易懂。更進一步地,所述Beetl模板引擎模塊(3)基于Beetl引擎實現,使用WebAppResourceLoader資源模板加載器,可以直接獲取到渲染數據后的文件流,針對此文件流我們可以保存為對應的文件。一種基于上述智能代碼生成引擎系統的智能代碼生成方法,其特殊之處在于,包括如下步驟:1)在數據配置文件中修改智能代碼生成引擎的配置信息;2)在數據庫表查詢展示配置模塊中選擇需要生成代碼的表名;3)數據表詳情查詢模塊根據所述表名查詢表內容,并加載出表中所有的字段信息,勾選需要功能,形成功能項;4)Beetl模板引擎模塊根據表名和表內容中的功能項選取預先定制的Beetl模板,將所述表內容渲染數據并生成代碼文件于配置文件中的指定路徑。優選地,所述步驟1)中的配置信息包括數據庫連接地址;后臺代碼存放目錄;后臺代碼存放包名;前端頁面存放目錄;作者姓名。此處采用配置文件可以靈活改變,既適應了集成此智能代碼生成引擎于項目中(配置文件的修改無需重新啟動項目),也適應了單獨使用此智能代碼生成引擎。優選地,所述步驟3)中的表內容包括表的列名、列說明、列類型、精度、主鍵??梢暬慕缑媸褂脩舻牟僮鞲庇^,易用性得到很大的改善。本專利技術針對現有代碼自動生成方法效率不高的缺陷,對確定了系統架構的系統,通過數據庫中相應表的查詢,包括字段和注釋,從而自動生成含有最基礎的增(templ_insert.html)、刪(此功能點無模板)、改(templ_update.html)、查(列表:templ_select.html,詳情:templ_view.html)功能的對應的模塊代碼,現在也將此技術做成可視化界面,便于開發人員操作,從而提高開發人員的工作效率,減少基礎代碼編寫工作量,讓開發人員有更多的精力專注于行業中的業務處理。附圖說明圖1為本專利技術智能代碼生成引擎系統的結構示意圖。圖2為本專利技術智能代碼生成引擎系統的后臺代碼目錄結構示意圖。圖3為本專利技術智能代碼生成引擎系統的前端代碼目錄結構示意圖。圖4為本專利技術智能代碼生成方法的基本流程圖。圖5為本專利技術智能代碼生成方法的配置數據源信息的示意圖。圖6為本專利技術智能代碼生成方法的生成代碼的表名的示意圖。圖7為本專利技術智能代碼生成方法的選取列字段在列表頁的查詢匹配方式的示意圖。圖8為本專利技術智能代碼生成方法的選取列字段在新增、修改、查看頁面的顯示表單類型的示意圖。圖9為本專利技術智能代碼生成引擎系統的整個可視化視圖界面的示意圖。圖中:數據庫表查詢展示配置模塊1,數據表詳情查詢模塊2,Beetl模板引擎模塊3,數據庫4。具體實施方式以下結合附圖和具體實施例對本專利技術作進一步的詳細描述。本技術方案中模板配置的前提是確定整個系統架構。如圖1所示,本專利技術一種智能代碼生成引擎系統,包括數據庫表查詢展示配置模塊1、數據表詳情查詢模塊2和Beetl模板引擎模塊3。數據庫表查詢展示配置模塊1:用于查詢數據庫4內所有表名,并提供可視化界面數據,給予用戶進行后續操作使用。數據表詳情查詢模塊2:用于根據表名在數據庫4中查詢表內容提供給模板引擎渲染數據。表內容包括表的列名、列說明、列類型、精度、主鍵等。Beetl模板引擎模塊3:用于根據表名和表內容,加載和解析預先定制的Beetl模板,用組裝好的數據集合(表名和表內容)對模板進行渲染數據并生成代碼文件。Beetl模板引擎模塊3基于Beetl-Java模板引擎實現。Beet模板引擎是一種類似JS語法和使用習慣以.btl結尾的文件模板,由于Beetl具有的高性能、高可靠性、高易用性等優點,因此本專利技術采用Beetl-Java模板引擎。Beetl模板是基于已有的代碼,根據自己的代碼風格以及框架的結構調整的模板信息,Beetl模板提供有四種資源模板加載器,并且支持自定義資源模板加載器,此處選用的是WebAppResourceLoader資源模板加載器,Java代碼調用函數簡單,可以在模板文件中定義變量,且變量的賦值僅需放入綁定數據的Map集合中,與JSTL表達式使用規則類似,此處減少了重新學習新語法規則的成本,現有的代碼生成工具幾乎沒有使用模板引擎,導致到生成代碼的時候對系統資源消耗較多,且不能靈活的變更模板,因此代碼生成的效率和通用性大打折扣,此處選用Beetl模板作為代碼的模板文件就是為了解決這一問題,無論你的項目使用什么技術架構,只要有一個完整的樣例,就能輕易的編寫出模板文件,底層查詢的數據已經封裝出幾乎所有的表相關信息的實體類,在模板文件中變量賦值就變的輕而易舉,從而大大提升開發人員的工作效率。預先定制的Beetl模板為SSI框架下的代碼模板,包括控制層模板(templ_controller.btl)、數據庫映射關系配置層模板(templ_ibatis.btl)、實體類模板(templ_entity.btl)、服務層模板(templ_service.btl/templ_serviceImpl.btl)、前端頁面層模板(templ_select.btl/templ_insert.btl/templ_update.btl/templ_view.btl)。模板文件中的包名、類名、頁面路徑、字段說明等等均需要使用變量,以便模板本文檔來自技高網...
    智能代碼生成引擎系統及方法

    【技術保護點】
    一種智能代碼生成引擎系統,其特征在于:數據庫表查詢展示配置模塊(1)、數據表詳情查詢模塊(2)和Beetl模板引擎模塊(3);所述數據庫表查詢展示配置模塊(1):用于查詢數據庫(4)內所有表名,并提供可視化界面數據,給予用戶進行后續操作使用;所述數據表詳情查詢模塊(2):用于根據所述表名在數據庫(4)中查詢表內容提供給模板引擎渲染數據;所述Beetl模板引擎模塊(3):用于根據所述表名和表內容,加載和解析預先定制的Beetl模板,將所述表名和表內容渲染數據并生成代碼文件。

    【技術特征摘要】
    1.一種智能代碼生成引擎系統,其特征在于:數據庫表查詢展示配置模塊(1)、數據表詳情查詢模塊(2)和Beetl模板引擎模塊(3);所述數據庫表查詢展示配置模塊(1):用于查詢數據庫(4)內所有表名,并提供可視化界面數據,給予用戶進行后續操作使用;所述數據表詳情查詢模塊(2):用于根據所述表名在數據庫(4)中查詢表內容提供給模板引擎渲染數據;所述Beetl模板引擎模塊(3):用于根據所述表名和表內容,加載和解析預先定制的Beetl模板,將所述表名和表內容渲染數據并生成代碼文件。2.根據權利要求1所述的智能代碼生成引擎系統,其特征在于:所述預先定制的Beetl模板為SSI框架下的代碼模板,包括控制層模板、數據庫映射關系配置層模板、實體類模板、服務層模板、前端頁面層模板、框架代碼模板。3.根據權利要求2所述的智能代碼生成引擎系統,其特征在于:所述前端頁面層模板包括添加功能模板、列表功能模板、修改功能模板和查看功能模板。4.根據權利要求2所述的智能代碼生成引擎系統,其特征在于:所述服務層模板包括接口類模板和接口實現類模板。5.根據...

    【專利技術屬性】
    技術研發人員:李猛,任駿,祁文榮,
    申請(專利權)人:武漢默聯股份有限公司,
    類型:發明
    國別省市:湖北,42

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩成人无码影院| 日韩网红少妇无码视频香港| 久久久久久久亚洲Av无码| 亚洲av极品无码专区在线观看| 亚洲AV永久无码天堂影院| 手机在线观看?v无码片| 色综合久久中文字幕无码| 日韩无码系列综合区| 免费无码中文字幕A级毛片| 亚洲av无码片vr一区二区三区| 国产成人综合日韩精品无码不卡| 亚洲av午夜精品无码专区| 中文字幕无码日韩专区免费| 精品无码国产自产拍在线观看| 中国少妇无码专区| 国产精品无码翘臀在线观看| 亚洲AV无码一区二区三区系列| 人妻老妇乱子伦精品无码专区 | 自慰系列无码专区| 亚洲AV成人无码天堂| 国产午夜鲁丝无码拍拍| 国产精品无码DVD在线观看| 亚洲AV无码专区国产乱码不卡| 亚洲AV无码乱码国产麻豆穿越| av无码a在线观看| 99久无码中文字幕一本久道| 久久久久av无码免费网| 无码人妻精品一区二区三区在线| 中文字幕无码久久精品青草| 免费无码又爽又刺激高潮的视频| 亚洲人片在线观看天堂无码| 亚洲av片不卡无码久久| 日韩精品无码一区二区三区不卡 | 潮喷失禁大喷水aⅴ无码| 熟妇人妻AV无码一区二区三区| 精品无码av一区二区三区| 亚洲日韩精品无码专区网址| 日韩精品人妻系列无码专区| 色欲aⅴ亚洲情无码AV| 久久久无码精品亚洲日韩蜜臀浪潮| 日韩精品无码久久久久久|