[發明專利]基于POJO的mybatis生成方法、系統、存儲介質及設備在審
| 申請號: | 202011096401.3 | 申請日: | 2020-10-14 |
| 公開(公告)號: | CN112306463A | 公開(公告)日: | 2021-02-02 |
| 發明(設計)人: | 李龍濤;孫煒 | 申請(專利權)人: | 深圳市中農網有限公司;深圳市中農易訊信息技術有限公司 |
| 主分類號: | G06F8/20 | 分類號: | G06F8/20;G06F8/30;G06F8/33;G06F8/41 |
| 代理公司: | 深圳中細軟知識產權代理有限公司 44528 | 代理人: | 仉玉新 |
| 地址: | 518000 廣東省深圳市福田區福強路4*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 pojo mybatis 生成 方法 系統 存儲 介質 設備 | ||
1.一種基于POJO的mybatis生成方法,所述方法包括以下步驟:
在JAVA對象POJO類名和屬性上補充數據庫表結構的必要信息,所述必要信息包括從JAVA中獲取不到的數據庫表結構的信息;
使用JAVA語法解析工具將所述POJO解析為JAVA語法樹;
通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義;
通過所述數據庫表定義,生成所述POJO與所述數據庫表定義的映射mapper.JAVA及其mapper.xml文件,以生成所述mybatis,并將所述mybatis寫入文件系統。
2.根據權利要求1所述方法,其特征在于,所述JAVA語法解析工具包括JAVAPARSER,則所述使用JAVA語法解析工具將所述POJO解析為JAVA語法樹,包括:
讀取包含所述POJO的JAVA文件;
使用所述JAVAPARSER將所述JAVA文件中的所述POJO解析為JAVA語法樹。
3.根據權利要求1所述方法,其特征在于,所述通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義,包括:
對所述JAVA語法樹進行分析及基于所述補充的數據庫表結構的必要信息,讀取class注釋、POJO類名、field注釋、field名稱及field類型;
利用所述讀取的class注釋、POJO類名、field注釋、field名稱及field類型構建數據庫表定義。
4.根據權利要求1所述方法,其特征在于,所述通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義之后,還包括:
讀取歷史數據庫表定義;
通過所述數據庫表定義與所述歷史數據庫表定義對比生成alter或insert語句;
根據所述alter或insert語句修改所述數據庫表定義對應的數據庫表。
5.根據權利要求4所述方法,其特征在于,所述alter語句包括修改語句,insert語句包括創建表語句;則通過所述數據庫表定義與所述歷史數據庫表定義對比生成alter或insert語句,所述根據所述alter或insert語句修改數據庫表,包括:
讀取歷史數據庫表定義;
若存在歷史數據庫,則通過所述數據庫表定義與所述歷史數據庫表定義對比生成修改語句,并利用所述修改語句修改所述數據庫表定義對應的數據庫表;
若不存在歷史數據庫,則通過所述數據庫表定義與所述歷史數據庫表定義對比生成創建表語句,并利用所述創建表語句修改所述數據庫表定義對應的數據庫表。
6.根據權利要求1所述方法,其特征在于,所述通過所述數據庫表定義,生成所述POJO與所述數據庫表定義的映射mapper.JAVA及其mapper.xml文件,以生成所述mybatis之后,并將所述mybatis寫入文件系統之前還包括:
使用預設的前綴命名方式對所述mapper.JAVA進行命名,所述前綴命名方式區別于歷史mapper.JAVA。
7.根據權利要求1所述方法,其特征在于,所述將所述mybatis寫入文件系統之后,還包括:
所述歷史mapper.JAVA繼承生成的所述mapper.JAVA,其中,子類是所述歷史mapper.JAVA,父類是生成的所述mapper.JAVA,所述繼承包括所述子類擁有所述父類的所有功能。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中農網有限公司;深圳市中農易訊信息技術有限公司,未經深圳市中農網有限公司;深圳市中農易訊信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011096401.3/1.html,轉載請聲明來源鉆瓜專利網。





