[發(fā)明專利]基于POJO的mybatis生成方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備在審
| 申請(qǐng)?zhí)枺?/td> | 202011096401.3 | 申請(qǐng)日: | 2020-10-14 |
| 公開(公告)號(hào): | CN112306463A | 公開(公告)日: | 2021-02-02 |
| 發(fā)明(設(shè)計(jì))人: | 李龍濤;孫煒 | 申請(qǐng)(專利權(quán))人: | 深圳市中農(nóng)網(wǎng)有限公司;深圳市中農(nóng)易訊信息技術(shù)有限公司 |
| 主分類號(hào): | G06F8/20 | 分類號(hào): | G06F8/20;G06F8/30;G06F8/33;G06F8/41 |
| 代理公司: | 深圳中細(xì)軟知識(shí)產(chǎn)權(quán)代理有限公司 44528 | 代理人: | 仉玉新 |
| 地址: | 518000 廣東省深圳市福田區(qū)福強(qiáng)路4*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 pojo mybatis 生成 方法 系統(tǒng) 存儲(chǔ) 介質(zhì) 設(shè)備 | ||
1.一種基于POJO的mybatis生成方法,所述方法包括以下步驟:
在JAVA對(duì)象POJO類名和屬性上補(bǔ)充數(shù)據(jù)庫表結(jié)構(gòu)的必要信息,所述必要信息包括從JAVA中獲取不到的數(shù)據(jù)庫表結(jié)構(gòu)的信息;
使用JAVA語法解析工具將所述POJO解析為JAVA語法樹;
通過對(duì)所述JAVA語法樹的分析以及所述補(bǔ)充的數(shù)據(jù)庫表結(jié)構(gòu)的必要信息,構(gòu)建數(shù)據(jù)庫表定義;
通過所述數(shù)據(jù)庫表定義,生成所述POJO與所述數(shù)據(jù)庫表定義的映射mapper.JAVA及其mapper.xml文件,以生成所述mybatis,并將所述mybatis寫入文件系統(tǒng)。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,所述JAVA語法解析工具包括JAVAPARSER,則所述使用JAVA語法解析工具將所述POJO解析為JAVA語法樹,包括:
讀取包含所述POJO的JAVA文件;
使用所述JAVAPARSER將所述JAVA文件中的所述POJO解析為JAVA語法樹。
3.根據(jù)權(quán)利要求1所述方法,其特征在于,所述通過對(duì)所述JAVA語法樹的分析以及所述補(bǔ)充的數(shù)據(jù)庫表結(jié)構(gòu)的必要信息,構(gòu)建數(shù)據(jù)庫表定義,包括:
對(duì)所述JAVA語法樹進(jìn)行分析及基于所述補(bǔ)充的數(shù)據(jù)庫表結(jié)構(gòu)的必要信息,讀取class注釋、POJO類名、field注釋、field名稱及field類型;
利用所述讀取的class注釋、POJO類名、field注釋、field名稱及field類型構(gòu)建數(shù)據(jù)庫表定義。
4.根據(jù)權(quán)利要求1所述方法,其特征在于,所述通過對(duì)所述JAVA語法樹的分析以及所述補(bǔ)充的數(shù)據(jù)庫表結(jié)構(gòu)的必要信息,構(gòu)建數(shù)據(jù)庫表定義之后,還包括:
讀取歷史數(shù)據(jù)庫表定義;
通過所述數(shù)據(jù)庫表定義與所述歷史數(shù)據(jù)庫表定義對(duì)比生成alter或insert語句;
根據(jù)所述alter或insert語句修改所述數(shù)據(jù)庫表定義對(duì)應(yīng)的數(shù)據(jù)庫表。
5.根據(jù)權(quán)利要求4所述方法,其特征在于,所述alter語句包括修改語句,insert語句包括創(chuàng)建表語句;則通過所述數(shù)據(jù)庫表定義與所述歷史數(shù)據(jù)庫表定義對(duì)比生成alter或insert語句,所述根據(jù)所述alter或insert語句修改數(shù)據(jù)庫表,包括:
讀取歷史數(shù)據(jù)庫表定義;
若存在歷史數(shù)據(jù)庫,則通過所述數(shù)據(jù)庫表定義與所述歷史數(shù)據(jù)庫表定義對(duì)比生成修改語句,并利用所述修改語句修改所述數(shù)據(jù)庫表定義對(duì)應(yīng)的數(shù)據(jù)庫表;
若不存在歷史數(shù)據(jù)庫,則通過所述數(shù)據(jù)庫表定義與所述歷史數(shù)據(jù)庫表定義對(duì)比生成創(chuàng)建表語句,并利用所述創(chuàng)建表語句修改所述數(shù)據(jù)庫表定義對(duì)應(yīng)的數(shù)據(jù)庫表。
6.根據(jù)權(quán)利要求1所述方法,其特征在于,所述通過所述數(shù)據(jù)庫表定義,生成所述POJO與所述數(shù)據(jù)庫表定義的映射mapper.JAVA及其mapper.xml文件,以生成所述mybatis之后,并將所述mybatis寫入文件系統(tǒng)之前還包括:
使用預(yù)設(shè)的前綴命名方式對(duì)所述mapper.JAVA進(jìn)行命名,所述前綴命名方式區(qū)別于歷史mapper.JAVA。
7.根據(jù)權(quán)利要求1所述方法,其特征在于,所述將所述mybatis寫入文件系統(tǒng)之后,還包括:
所述歷史mapper.JAVA繼承生成的所述mapper.JAVA,其中,子類是所述歷史mapper.JAVA,父類是生成的所述mapper.JAVA,所述繼承包括所述子類擁有所述父類的所有功能。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳市中農(nóng)網(wǎng)有限公司;深圳市中農(nóng)易訊信息技術(shù)有限公司,未經(jīng)深圳市中農(nóng)網(wǎng)有限公司;深圳市中農(nóng)易訊信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011096401.3/1.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 一種擴(kuò)展POJO實(shí)現(xiàn)支持附加信息的方法和裝置
- 一種數(shù)據(jù)庫持久層裝置及數(shù)據(jù)庫操作方法
- 代碼生成方法及系統(tǒng)
- 一種基于eclipse的代碼自動(dòng)生成方法及系統(tǒng)
- 一種基于kettle的web端交換管理方法
- 數(shù)據(jù)庫操作方法及裝置
- 自動(dòng)生成POJO類的方法、裝置及存儲(chǔ)介質(zhì)、計(jì)算機(jī)設(shè)備
- 自動(dòng)化代碼生成方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 基于POJO的mybatis生成方法、系統(tǒng)、存儲(chǔ)介質(zhì)及設(shè)備
- 一種基于json鍵值的解析sql和nosql的通用方法
- 基于Spring MVC、Apache Shiro、MyBatis框架整合的代碼生成器
- 一種基于MyBatis的SQL語句的配置方法、系統(tǒng)
- 一種基于spring和mybatis框架的多源數(shù)據(jù)交互平臺(tái)
- Mybatis代碼生成方法、裝置及計(jì)算機(jī)終端
- 一種基于Mybatis實(shí)現(xiàn)的openstack數(shù)據(jù)查詢方法與裝置
- mybatis字段加密解密裝置及加密解密系統(tǒng)
- MyBatis應(yīng)用程序的SQL提取方法及裝置
- 一種基于混合持久化框架的數(shù)據(jù)處理方法及裝置
- 一種基于Vue和Mybatis的表格查詢方法及系統(tǒng)
- 一種基于mybatis攔截器實(shí)現(xiàn)訂單狀態(tài)同步的方法及服務(wù)器





