[發明專利]基于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 生成 方法 系統 存儲 介質 設備 | ||
本發明實施例公開了一種基于POJO的mybatis生成方法,所述mybatis中包括mapper.JAVA和mapper.xml文件,所述方法包括以下步驟:在JAVA對象POJO類名和屬性上補充數據庫表結構的必要信息,所述必要信息包括從JAVA中獲取不到的數據庫表結構的信息;使用JAVA語法解析工具將所述POJO解析為JAVA語法樹;通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義;通過所述數據庫表定義,生成所述POJO與所述數據庫表定義的映射mapper.JAVA及其mapper.xml文件,并寫入文件系統。采用本發明對POJO的修改不再需要修改多個文件,且由于逆向工程導致原有代碼被覆蓋的問題也得到解決,都使得開發者可專注于面對對象的設計,提升了開發效率。
技術領域
本發明涉及JAVA開發技術領域,尤其涉及一種基于POJO的mybatis生成方法、系統、存儲介質及設備。
背景技術
mybatis由于其靈活的查詢以及框架的輕量,在對象關系映射(ORM)框架中廣受歡迎,但由于其設計思想與Java持久層API(Java Persistence API,JPA)規范相悖,未實現JPA規范,導致其使用較為繁瑣,開發者需要寫大量的mapper.xml,簡單的JAVA對象(PlainOrdinary Java Object,POJO)任何屬性的修改,都要修改多個文件,其中包括對數據庫表結構的更新。
對此官方發布了一套逆向工程工具MyBatis代碼生成器(Mybatis generator,MBG),所謂逆向是指由數據庫表結構生成mapper和POJO的過程,市面上也有大量逆向工程工具,市面上所有的生成工具都是在此思想上做改進,先通過數據庫定義,獲取數據實體的所有信息,再以此信息為基礎,構造JAVA所需POJO類,再根據生成的POJO類與數據庫表定義生成映射關系Mapper;另一種是動態mapper的方式,如mybatis-plus,在運行時動態生成mapper。二者都簡化了mybatis的使用,也被大量開發者接受,但是由于逆向工程是由表生成代碼,且會覆蓋原有代碼,因此會造成無法預料的錯誤。
目前對于開發過程中的POJO任何屬性的修改,仍存在要修改多個文件這個非常繁瑣且無意義的問題,以及由于逆向工程導致原有代碼被覆蓋的問題,這些都使得無法讓開發者更專注于面對對象的設計,極大降低了開發效率。
發明內容
基于此,有必要針對上述問題,提出了一種基于POJO的mybatis生成方法、裝置、計算機設備及存儲介質。
本發明第一方面提供了一種基于POJO的mybatis生成方法,所述方法包括:
在JAVA對象POJO類名和屬性上補充數據庫表結構的必要信息,所述必要信息包括從JAVA中獲取不到的數據庫表結構的信息;
使用JAVA語法解析工具將所述POJO解析為JAVA語法樹;
通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義;
通過所述數據庫表定義,生成所述POJO與所述數據庫表定義的映射mapper.JAVA及其mapper.xml文件,以生成所述mybatis,并將所述mybatis寫入文件系統。
本發明第二方面提供了一種基于POJO的mybatis生成系統,所述系統包括:
補充模塊:在簡單的JAVA對象POJO類名和屬性上補充數據庫表結構的必要信息,所述必要信息包括從JAVA中獲取不到的數據庫表結構的信息;
分析模塊:用于使用JAVA語法解析工具將所述POJO解析為JAVA語法樹;
構建模塊:用于通過對所述JAVA語法樹的分析以及所述補充的數據庫表結構的必要信息,構建數據庫表定義;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中農網有限公司;深圳市中農易訊信息技術有限公司,未經深圳市中農網有限公司;深圳市中農易訊信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011096401.3/2.html,轉載請聲明來源鉆瓜專利網。





