一種快速數據保存方法
【技術領域】
[0001]本發明涉及JAVA技術領域,具體涉及一種數據保存方法。
【背景技術】
[0002]目前在java系統開發過程中,當需要將數據保存至數據庫中時;目前流行的技術為jdbc、hibernate與ibatis。但三種技術都存在非常明顯的缺點,如jdbc代碼最多,數據查詢與結果封裝都需要寫大量相應的代碼。hibernate代碼最少,可以直接操作對象的方式直接操作數據庫,但這種方法需要大量的配置文件支持。最后ibatis是一種中間產品,代碼量比jdbc少但比hibernate多,同時配置比jdbc多而比hibernate少。因此不管使用哪種方式,如果不寫代碼即要增加相應的配置,如果不寫配置即要增加大量的代碼,嚴重影響了開發的效率。
【發明內容】
[0003]本發明解決的技術問題在于提供一種零配置、零開發的數據庫保存方法。
[0004]本發明解決上述技術問題的技術方案是:
[0005]所述的方法通過翻譯模塊,使用JAVA的反射機制,將JAVA類拼裝成合法的數據庫執行語言;系統研發無需編寫數據庫保存代碼,只需要按照規則編寫相應的JAVA類與相關的屬性;當需要保存數據時,調用翻譯模塊;翻譯模塊通過JAVA的反射機制,將類名與屬性名轉化為數據庫執行語句,并執行。
[0006]所述的方法包括如下步驟:
[0007]第I步、在數據庫中建立表,User表可包含任意屬性如id和name,其類型分別為int 和 string ;
[0008]第2步、根據User表,建立JAVA類User,其中JAVA對象User中包含id和name屬性,屬性類型分別為int與string ;
[0009]第3 步,創建 User 類的對象 user,并將 user 賦值:id = l,name=’ 123 ;
[0010]第4步、JAVA調用數據庫操作模塊,并把user作為參數作入方法體內;
[0011]第5步、數據庫模塊通過JAVA反射機制,將user對象映射成相應的sql語句SI,如 insert into user ;
[0012]第6步、數據庫模塊通過反射機制,遍歷對象user的所有屬性與值,交繼續拼裝SI,如 insert into user(id,name)values(I,^123);
[0013]第7步、數據庫模塊通過jdbc接口,執行Si,將數據保存至數據庫中。
[0014]本發明的有益效果是:本發明通過制定相應的默認規則,如表名與類名一致,表的字段名和類型與類的屬性名和類型分別一一對應。通過的數據庫模塊,可以根據類名、屬性名與值,拼裝成可執行的sql語句,再通過執行相應的sql語句保存數據。而且數據庫模塊是通用的,只需一次研發即可。其它功能模塊保存數據時,只需調用數據庫模塊,并把要保存的類作為參數傳入即可。因此,本方法避免了數據庫模塊的代碼研發,讓項目組可以把更多的精力放在業務邏輯中;而且本方法無需配置、數據庫層無需開發代碼,減少了工作量、提高工作效率。通過翻譯模塊,把數據庫層抽象成通用的功能模塊,讓平臺研發更簡單與清晰。
【附圖說明】
[0015]下面結合附圖對本發明進一步說明:
[0016]圖1為本發明的流程圖。
【具體實施方式】
[0017]如附圖1所示,是數據查詢的主要流程圖;包括如下步驟:
[0018]第I步、在數據庫中建立表,如User,表可包含任意屬性如id和name,其類型分別為 int 和 string ;
[0019]第2步、根據User表,建立JAVA類User,其中JAVA對象User中包含id和name屬性,屬性類型分別為int與string ;
[0020]第3 步,創建 User 類的對象 user,并將 user 賦值:id = l,name=’ 123 ;
[0021]第4步、JAVA調用數據庫操作模塊,并把user作為參數作入方法體內;
[0022]第5步、數據庫模塊通過JAVA反射機制,將user對象映射成相應的sql語句SI,如 insert into user。
[0023]第6步、數據庫模塊通過反射機制,遍歷對象user的所有屬性與值,交繼續拼裝SI,如 insert into user(id,name)values(I,‘123)。
[0024]第7步、數據庫模塊通過jdbc接口,執行si,將數據保存至數據庫中。
【主權項】
1.一種快速數據保存方法,其特征在于:所述的方法通過翻譯模塊,使用JAVA的反射機制,將JAVA類拼裝成合法的數據庫執行語言;系統研發無需編寫數據庫保存代碼,只需要按照規則編寫相應的JAVA類與相關的屬性;當需要保存數據時,調用翻譯模塊;翻譯模塊通過JAVA的反射機制,將類名與屬性名轉化為數據庫執行語句,并執行。2.根據權利要求1所述的快速數據保存方法,其特征在于:所述的方法包括如下步驟: 第I步、在數據庫中建立表,User表可包含任意屬性如id和name,其類型分別為int和 string ; 第2步、根據User表,建立JAVA類User,其中JAVA對象User中包含id和name屬性,屬性類型分別為int與string ; 第3步,倉Il建User類的對象user,并將user賦值:id = I, name =’ 123 ; 第4步、JAVA調用數據庫操作模塊,并把user作為參數作入方法體內; 第5步、數據庫模塊通過JAVA反射機制,將user對象映射成相應的sql語句SI,如insert into user ; 第6步、數據庫模塊通過反射機制,遍歷對象user的所有屬性與值,交繼續拼裝SI,如insert into user (id,name) values (1,^ 123); 第7步、數據庫模塊通過jdbc接口,執行Si,將數據保存至數據庫中。
【專利摘要】本發明涉及JAVA技術領域,具體涉及一種數據保存方法。本發明方法通過java的反射機制,建立JAVA類與數據庫表的關聯關系:將JAVA類名映射至數據庫表中;同理,將類的屬性映射至表的字段中,同時保護字段的類型與類的屬性類型一致。通過以上兩步即可實現類與數據庫表的對映關系。通過這種映射,JAVA即可將類的信息直接寫入至數據庫中,實現零配置、零開發、高效的數據保存方式;本發明的方法可以用于java系統的數據保存中。
【IPC分類】G06F17/30
【公開號】CN104881461
【申請號】CN201510267171
【發明人】關班記, 季統凱
【申請人】國云科技股份有限公司
【公開日】2015年9月2日
【申請日】2015年5月22日