一种快速数据保存方法
【技术领域】
[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日