CN104881461A - 一种快速数据保存方法 - Google Patents

一种快速数据保存方法 Download PDF

Info

Publication number
CN104881461A
CN104881461A CN201510267171.5A CN201510267171A CN104881461A CN 104881461 A CN104881461 A CN 104881461A CN 201510267171 A CN201510267171 A CN 201510267171A CN 104881461 A CN104881461 A CN 104881461A
Authority
CN
China
Prior art keywords
user
java
database
class
name
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510267171.5A
Other languages
English (en)
Inventor
关班记
季统凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
G Cloud Technology Co Ltd
Original Assignee
G Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by G Cloud Technology Co Ltd filed Critical G Cloud Technology Co Ltd
Priority to CN201510267171.5A priority Critical patent/CN104881461A/zh
Publication of CN104881461A publication Critical patent/CN104881461A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及JAVA技术领域,具体涉及一种数据保存方法。本发明方法通过java的反射机制,建立JAVA类与数据库表的关联关系:将JAVA类名映射至数据库表中;同理,将类的属性映射至表的字段中,同时保护字段的类型与类的属性类型一致。通过以上两步即可实现类与数据库表的对映关系。通过这种映射,JAVA即可将类的信息直接写入至数据库中,实现零配置、零开发、高效的数据保存方式;本发明的方法可以用于java系统的数据保存中。

Description

一种快速数据保存方法
技术领域
本发明涉及JAVA技术领域,具体涉及一种数据保存方法。
背景技术
目前在java系统开发过程中,当需要将数据保存至数据库中时;目前流行的技术为jdbc、hibernate与ibatis。但三种技术都存在非常明显的缺点,如jdbc代码最多,数据查询与结果封装都需要写大量相应的代码。hibernate代码最少,可以直接操作对象的方式直接操作数据库,但这种方法需要大量的配置文件支持。最后ibatis是一种中间产品,代码量比jdbc少但比hibernate多,同时配置比jdbc多而比hibernate少。因此不管使用哪种方式,如果不写代码即要增加相应的配置,如果不写配置即要增加大量的代码,严重影响了开发的效率。
发明内容
本发明解决的技术问题在于提供一种零配置、零开发的数据库保存方法。
本发明解决上述技术问题的技术方案是:
所述的方法通过翻译模块,使用JAVA的反射机制,将JAVA类拼装成合法的数据库执行语言;系统研发无需编写数据库保存代码,只需要按照规则编写相应的JAVA类与相关的属性;当需要保存数据时,调用翻译模块;翻译模块通过JAVA的反射机制,将类名与属性名转化为数据库执行语句,并执行。
所述的方法包括如下步骤:
第1步、在数据库中建立表,User表可包含任意属性如id和name,其类型分别为int和string;
第2步、根据User表,建立JAVA类User,其中JAVA对象User中包含id和name属性,属性类型分别为int与string;
第3步,创建User类的对象user,并将user赋值:id=1,name=’123;
第4步、JAVA调用数据库操作模块,并把user作为参数作入方法体内;
第5步、数据库模块通过JAVA反射机制,将user对象映射成相应的sql语句S1,如insert into user;
第6步、数据库模块通过反射机制,遍历对象user的所有属性与值,交继续拼装S1,如insert into user(id,name)values(1,‘123);
第7步、数据库模块通过jdbc接口,执行s1,将数据保存至数据库中。
本发明的有益效果是:本发明通过制定相应的默认规则,如表名与类名一致,表的字段名和类型与类的属性名和类型分别一一对应。通过的数据库模块,可以根据类名、属性名与值,拼装成可执行的sql语句,再通过执行相应的sql语句保存数据。而且数据库模块是通用的,只需一次研发即可。其它功能模块保存数据时,只需调用数据库模块,并把要保存的类作为参数传入即可。因此,本方法避免了数据库模块的代码研发,让项目组可以把更多的精力放在业务逻辑中;而且本方法无需配置、数据库层无需开发代码,减少了工作量、提高工作效率。通过翻译模块,把数据库层抽象成通用的功能模块,让平台研发更简单与清晰。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
如附图1所示,是数据查询的主要流程图;包括如下步骤:
第1步、在数据库中建立表,如User,表可包含任意属性如id和name,其类型分别为int和string;
第2步、根据User表,建立JAVA类User,其中JAVA对象User中包含id和name属性,属性类型分别为int与string;
第3步,创建User类的对象user,并将user赋值:id=1,name=’123;
第4步、JAVA调用数据库操作模块,并把user作为参数作入方法体内;
第5步、数据库模块通过JAVA反射机制,将user对象映射成相应的sql语句S1,如insert into user。
第6步、数据库模块通过反射机制,遍历对象user的所有属性与值,交继续拼装S1,如insert into user(id,name)values(1,‘123)。
第7步、数据库模块通过jdbc接口,执行s1,将数据保存至数据库中。

Claims (2)

1.一种快速数据保存方法,其特征在于:所述的方法通过翻译模块,使用JAVA的反射机制,将JAVA类拼装成合法的数据库执行语言;系统研发无需编写数据库保存代码,只需要按照规则编写相应的JAVA类与相关的属性;当需要保存数据时,调用翻译模块;翻译模块通过JAVA的反射机制,将类名与属性名转化为数据库执行语句,并执行。
2.根据权利要求1所述的快速数据保存方法,其特征在于:所述的方法包括如下步骤:
第1步、在数据库中建立表,User表可包含任意属性如id和name,其类型分别为int和string;
第2步、根据User表,建立JAVA类User,其中JAVA对象User中包含id和name属性,属性类型分别为int与string;
第3步,创建User类的对象user,并将user赋值:id=1,name=’123;
第4步、JAVA调用数据库操作模块,并把user作为参数作入方法体内;
第5步、数据库模块通过JAVA反射机制,将user对象映射成相应的sql语句S1,如insert into user;
第6步、数据库模块通过反射机制,遍历对象user的所有属性与值,交继续拼装S1,如insert into user(id,name)values(1,‘123);
第7步、数据库模块通过jdbc接口,执行s1,将数据保存至数据库中。
CN201510267171.5A 2015-05-22 2015-05-22 一种快速数据保存方法 Pending CN104881461A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510267171.5A CN104881461A (zh) 2015-05-22 2015-05-22 一种快速数据保存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510267171.5A CN104881461A (zh) 2015-05-22 2015-05-22 一种快速数据保存方法

Publications (1)

Publication Number Publication Date
CN104881461A true CN104881461A (zh) 2015-09-02

Family

ID=53948954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510267171.5A Pending CN104881461A (zh) 2015-05-22 2015-05-22 一种快速数据保存方法

Country Status (1)

Country Link
CN (1) CN104881461A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630508A (zh) * 2015-12-31 2016-06-01 广州亦云信息技术有限公司 在Java系统中封装SQL语言的处理方法及系统
CN105824634A (zh) * 2016-03-17 2016-08-03 福建联迪商用设备有限公司 一种java生成数据库sequence的方法
CN106648569A (zh) * 2015-11-02 2017-05-10 腾讯科技(深圳)有限公司 目标序列化实现方法和装置
CN106933828A (zh) * 2015-12-29 2017-07-07 北京国双科技有限公司 数据插入方法和装置
CN109299125A (zh) * 2018-10-31 2019-02-01 中国银行股份有限公司 数据库更新方法及装置
CN109471869A (zh) * 2018-12-27 2019-03-15 山东浪潮商用系统有限公司 一种本地数据库自动升级的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044687A1 (en) * 2002-08-30 2004-03-04 Thomas Vachuska Apparatus and method using pre-described patterns and reflection to generate a database schema
US20040044637A1 (en) * 2002-08-30 2004-03-04 Thomas Vachuska Apparatus and method using reflection to generate database commands at runtime
CN101174217A (zh) * 2007-11-22 2008-05-07 上海交通大学 Java程序可动态更新化实现方法
CN103677846A (zh) * 2013-12-25 2014-03-26 拉卡拉支付有限公司 一种SQLite数据库开发工具包及开发方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044687A1 (en) * 2002-08-30 2004-03-04 Thomas Vachuska Apparatus and method using pre-described patterns and reflection to generate a database schema
US20040044637A1 (en) * 2002-08-30 2004-03-04 Thomas Vachuska Apparatus and method using reflection to generate database commands at runtime
CN101174217A (zh) * 2007-11-22 2008-05-07 上海交通大学 Java程序可动态更新化实现方法
CN103677846A (zh) * 2013-12-25 2014-03-26 拉卡拉支付有限公司 一种SQLite数据库开发工具包及开发方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DECODE-LIFE: "Java反射机制简介及简单实例", 《HTTP://BLOG.CSDN.NET/ABUDEXIATIAN/ARTICLE/DETAILS/39375885》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106648569A (zh) * 2015-11-02 2017-05-10 腾讯科技(深圳)有限公司 目标序列化实现方法和装置
CN106648569B (zh) * 2015-11-02 2021-04-20 腾讯科技(深圳)有限公司 目标序列化实现方法和装置
CN106933828A (zh) * 2015-12-29 2017-07-07 北京国双科技有限公司 数据插入方法和装置
CN105630508A (zh) * 2015-12-31 2016-06-01 广州亦云信息技术有限公司 在Java系统中封装SQL语言的处理方法及系统
CN105824634A (zh) * 2016-03-17 2016-08-03 福建联迪商用设备有限公司 一种java生成数据库sequence的方法
CN109299125A (zh) * 2018-10-31 2019-02-01 中国银行股份有限公司 数据库更新方法及装置
CN109299125B (zh) * 2018-10-31 2021-05-28 中国银行股份有限公司 数据库更新方法及装置
CN109471869A (zh) * 2018-12-27 2019-03-15 山东浪潮商用系统有限公司 一种本地数据库自动升级的方法及系统

Similar Documents

Publication Publication Date Title
CN104881461A (zh) 一种快速数据保存方法
CN106611037A (zh) 用于分布式图计算的方法与设备
CN103729453A (zh) 一种HBase表联合查询优化的方法
CN105205105A (zh) 一种基于storm的数据ETL系统及处理方法
CN103729447A (zh) 一种数据库快速检索的方法
CN105159616A (zh) 一种磁盘空间管理方法及装置
CN106202138A (zh) 用于自主空间压缩的存储设备和方法
CN103984560A (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN104216961A (zh) 一种数据处理方法和装置
CN106933869B (zh) 一种操作数据库的方法和装置
CN106528896B (zh) 一种数据库优化方法和装置
CN102915344B (zh) 一种sql语句处理方法及装置
CN104182234A (zh) 一种业务处理方法和业务系统
CN103914290A (zh) 一种操作命令处理方法及装置
CN103425632A (zh) 一种序列化的方法、装置及处理器
CN106909554A (zh) 一种数据库文本表数据的加载方法及装置
CN106484826A (zh) 一种操作数据库的方法及装置
CN103106260A (zh) 一种面向角色的虚拟文件系统的建立方法
CN102937992A (zh) 一种基于Java与XML数据库的对象映射转换设计方法
CN105468793A (zh) 一种仿真模型数据的自动化管理方法
CN107729561A (zh) 基于数据库表结构反向生成对数据库表操作的方法
CN103501341A (zh) 一种Web服务的创建方法及装置
CN105786946A (zh) 一种虚拟化的数据集成和查询系统及其实现方法
CN103488794A (zh) 一种任意属性的数据库操作的Web实现方法
CN105117333A (zh) 一种测试用例的管理方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20150902

RJ01 Rejection of invention patent application after publication