CN101339559A - 一种数据持久化实现方法 - Google Patents
一种数据持久化实现方法 Download PDFInfo
- Publication number
- CN101339559A CN101339559A CNA2008101168610A CN200810116861A CN101339559A CN 101339559 A CN101339559 A CN 101339559A CN A2008101168610 A CNA2008101168610 A CN A2008101168610A CN 200810116861 A CN200810116861 A CN 200810116861A CN 101339559 A CN101339559 A CN 101339559A
- Authority
- CN
- China
- Prior art keywords
- data
- class
- field
- access
- business entity
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种数据持久化实现方法。在数据库中构建与业务实体类对应的表,使用反射类库API获取业务实体类的字段信息,从而构造相应的SQL语句,实例化应用层所传递参数相应的数据访问类,并使用反射类库激活参数中的获取方法后,将字段的值赋给相应的SQL语句,执行后完成调用。本方法使得对于数据的持久化操作可以自适应对象数据模型和关系数据模型的变化,使得不再需要大量的配置文件来维护对象数据模型与关系数据模型之间的映射。本方法提供了统一的数据访问接口,不需绑定具体的业务逻辑和数据方案,可以在其他系统中复用,从而提高了持久层的开发效率,实现数据逻辑和业务逻辑的有效分离,提高系统的可扩展性。
Description
技术领域
本发明涉及数据处理领域,具体涉及一种数据持久化实现方法。
背景技术
随着企业的发展,企业数据种类越来越多且数据结构变化迅速。这些数据自身通常存在以下特点:(1)数据资源的种类多,访问方法多样,越来越需要操作大量异构的数据,并且随时会有各类新的数据产生;(2)数据资源所包含的属性会随时更新,所含的信息会根据业务需要随时修改。如何统一高效的管理这些多样易变的数据是目前企业数据持久层实现中亟待解决的问题。
Ruby on Rails(ROR)是一个支持数据库的Internet应用程序的Ruby框架,它不采用配置文件这种策略保持灵活性。Rails中方法、类、表和列采用普通的项目目录结构和简单普通的命名约定,这些约定已配置在应用程序中。因此Rails应用程序只需要对应Java应用程序的小部分配置代码,一般是十分之一或更少。
反射是动态发现类型信息的能力。反射机制是在运行状态中,对于任意的类都能够知道这个类的所有属性和方法,对于任意的对象都能任意调用它的方法,这种动态获取信息以及动态调用对象方法的功能称为反射机制。现今很多语言都支持反射的功能,例如:java语言提供的反射功能都在java.lang.reflect包里实现并提供相应的API方便用户调用。
当前,对于数据持久化通常采用J2EE模式,使用其硬编码的DAO设计思想实现对象模型到关系模型的映射,这种方法存在以下问题:
第一、编码工作量大,且重复工作较多。在数据持久化操作中存在很多通用的操作,例如CRUD操作,如果针对每种业务实体编写其数据访问的CRUD操作,不仅工作量大且效率较低。
第二、硬编码的DAO方式不能很好地适应关系模型的变化。当关系模型改变时,需要手工修改代码并对代码需进行重新测试,导致编码出错的可能性较高。
第三、当需要引入新的数据资源时,必须针对这种新数据编写单独的数据访问类,代码不能复用。
另外,目前持久化技术中还经常采用Hibernate方法,但此种方法针对每种对象模型都需要保存配置文件,以映射到关系模型,对于大型的企业应用,其配置文件数量众多且难于管理。
因此目前的持久化技术难以满足数据种类繁多、数据更新频繁的应用需求,无法提供统一的数据访问接口,对开发效率有不利影响,而且会降低系统整体的可扩展性和可维护性。
发明内容
本发明提供了一种数据持久化实现方法,在数据库中构建与业务实体类对应的表,使用反射类库API获取业务实体类的字段信息,从而构造相应的SQL语句,实例化应用层所传递参数相应的数据访问类,并使用反射类库激活参数中的获取方法后,将字段的值赋给相应的SQL语句,执行后完成调用,本方法使得对于数据的持久化操作可以自适应对象数据模型和关系数据模型的变化,使得不再需要大量的配置文件来维护对象数据模型与关系数据模型之间的映射;提供了统一的数据访问接口,不需绑定具体的业务逻辑和数据方案,可以在其他系统中复用,从而提高了持久层的开发效率,实现数据逻辑和业务逻辑的有效分离,提高系统的可扩展性。
一种数据持久化实现方法,包括如下步骤:
步骤1:根据具体的业务需求构建数据库,按照POJO构建与数据库表对应且字段名称一致的业务实体类,并配置数据库连接池。
步骤2:应用层根据统一访问接口向数据持久化层提出访问请求,接收到请求后,首先使用反射机制的类库获取访问请求中参数所属的业务实体类名,在配置文件中查找是否存在与该业务实体类名对应的数据访问类,若不存在则提示用户并退出操作,若存在加载并生成该数据访问类的一个实例。
步骤3:调用数据访问类实例中与提出的访问请求相一致的数据操作。首先判断对于该业务实体类进行CRUD操作的SQL语句是否保存在数据访问类中,若已保存在数据访问类中转步骤4;若没有则通过反射机制的类库获取业务实体类的字段名称与类型,构造对业务实体类进行CRUD的操作信息保存在数据访问类中。
步骤4:访问请求从数据访问类中遍历查找,取出与访问请求相应的操作信息。初始化数据库操作的条件,包括从数据库连接池中获取连接,建立操作语句和数据结果集。
步骤5:根据取出操作信息的字段名称及字段类型,获取各访问请求的字段名称对应的方法,并调用这些方法获取相应的字段内容值,将获得的值赋给对应操作信息中的SQL语句。
步骤6:执行操作信息中的SQL语句,如果执行成功,则将结果返回至应用层,并关闭数据库连接;否则,捕获并处理异常信息,再关闭数据库的连接。
所述步骤2中,业务实体类与数据访问类的配置文件采用XML文件的形式,每条记录包括业务实体类的名称和该类相应的数据访问类的名称。
所述步骤3中采用反射机制的类库动态获取业务实体类的字段名称和字段类型,这些信息用来构造CRUD数据操作的SQL语句,使用自定义的数据结构保存CRUD操作的含义,包含的信息有:操作的描述、操作的SQL语句、SQL语句的字段名称及字段类型;SQL语句的字段名称及字段类型采用键值对的形式保存。
所述步骤5中获取各访问请求的字段名称对应的方法时,按操作信息中SQL字段名称的顺序依次利用反射机制的类库激活访问请求参数中该字段所对应的方法;如果字段类型为布尔型,则获取该字段的方法名称为“Is+字段名()”,否则获取该字段的方法名称为“Get+字段名()”,并将获得的字段内容赋给操作信息中的对应SQL语句。
本发明一种数据持久化实现方法的优点在于:
(1)由于本方法使用反射自动生成业务实体类的数据访问操作,因此使得数据访问代码的实现与具体业务实体类无关,应用系统可以方便地在该方法的基础上引进新的数据资源,提高了系统的扩展性;
(2)由于使用反射API获取业务实体类的内部信息,动态生成相应的CRUD操作,因此避免数据访问代码的重复开发;
(3)由于业务实体类的建立符合一定的约定,因此提供统一、灵活、高效、安全的数据访问服务;
(4)由于使用反射API获取业务实体类的字段信息构造类的CRUD操作,使得数据访问的实现能够自适应不同的业务实体类以及类的变化,因此不需绑定具体的业务逻辑和数据方案,可以在其他系统中复用,从而减少了应用开发量,提高了软件系统的开发效率。
附图说明
图1为本发明一种数据持久化实现方法的方法流程图;
图2为本发明一种数据持久化实现方法的业务实体类与数据访问类映射的XMLschema;
图3为本发明一种数据持久化实现方法的业务实体类与数据访问类映射XML文件实例;
图4为本发明一种数据持久化实现方法的数据访问类add操作的流程图。
具体实施方式
下面将结合附图对本发明作进一步的详细说明。
本发明的目的是提出一种数据持久化实现方法,通过本发明使得对于数据的持久化操作可以自适应对象数据模型和关系数据模型的变化,使得不再需要大量的配置文件来维护对象数据模型与关系数据模型之间的映射,从而提高了持久化操作的效率,实现数据逻辑和业务逻辑的有效分离,提高系统的可扩展性。
本发明一种数据持久化实现方法,如图1所示,包括如下步骤:
步骤一:分析具体的业务需求,列出其中的实体及应包含的信息和信息类型,根据列出的实体构建数据库,使数据库中的每张表能够反映业务中的相应实体,并且按照具体的业务需求,配置数据库连接池以便拥有较高的访问效率。
在数据库设计完成的基础上,构建每张数据库表对应到程序的业务实体类。POJO(PlainOld Java Object)为一种类的设计模式,POJO包括字段和对字段的get和set方法,且字段的类型为原始类型。在该持久化方法中业务实体类采用POJO的样式实现。在业务实体类的设计中存在以下约定:
●类的字段与关系数据库表的字段一一对应且名称与类型一致,这样使用反射API从对象模型获取的字段信息构造的SQL语句能够与数据库匹配。
●类继承同一个接口,因此采用面向接口编程能够提供统一调用接口方便用户的调用。
●类与数据库表中存在ID字段以便唯一的标识类的对象和数据库表的某一行记录,方便以ID为唯一的字段构建模型CRUD操作的SQL语句。
数据库连接池是持久层中保存并管理数据库连接的模块,使用数据库连接池的优点在于每次获取或关闭数据库的连接不再直接与数据库服务器交互而是由本地数据库连接池分配与收回。在客户端请求数据库连接的时候会查看连接池中是否有空闲的连接以供使用,若有则返回空闲的连接否则提示用户暂时等待,客户端关闭数据库连接的时候会将该连接返回连接池中以便再次使用。
本实施例中采用图书馆管理系统,以管理员实体为例,在关系数据库存在与管理员相对应的数据表ManagerInfo,在程序中也存在与管理员相对应的业务实体类Manager,ManagerInfo和Manager含有的字段名称与类型完全一致,配置数据库连接池。
步骤二:应用层根据统一访问接口向数据持久化层提出访问请求,数据持久化层将业务逻辑层与物理数据库隔离开,使业务逻辑层的人员无须关心将对象数据持久化到物理数据库的过程,在本方法中包括业务实体类、业务实体类对应的数据访问类。数据持久化层接收到访问请求后,首先根据反射机制的类库获取访问请求中参数所属的业务实体类名,然后在业务实体类与数据访问类映射的配置文件中查找是否存在与该业务实体类对应的数据访问类。若不存在则提示用户未配置该业务实体类的数据访问类并退出操作,若存在转步骤三。
如图2、图3所示,业务实体类与数据访问类的配置文件采用XML文件的形式,每条记录包括业务实体类的名称和该类相应的数据访问类的名称。图2为该配置文件的XMLSchema,图3为该配置文件的一个示例。配置文件的一条记录包含两种信息:ModelName即模型的完整名称(包含包名的类名称),图3中的Role.libr.Manager为完整的Manager类的名称,Role.libr在Java语言中表示Manager类所属包的名称;DAOName即ModelName表示的类对应的数据访问类的完整名称(包含包名的数据访问类名称),图3中的Lib.DAO.ManagerDAO为Role.libr.Manager类的数据访问类的名称,Lib.DAO在Java语言中表示ManagerDAO类所属包的名称。该XML配置文件采用DOM(文件对象模型)方式解析,并采用键值对<key,value>的形式保存解析出的内容,key为类的完整名称,value为key对应的访问类的完整名称。图3所示键值对为:<Role.libr.Manager,Lib.DAO.ManagerDAO>。
本实施例中,应用层调用add(IModel model),IModel为所有的业务实体类继承的接口,model为传递的参数值。首先利用Java反射机制的类库java.lang.Class类获取应用层传递的参数的类名Role.libr.Manager,根据获得的业务实体类名在配置文件中查找与Role.libr.Manager类相应的数据访问类,即查找ModelName为Role.libr.Manager的DAOName得到Lib.DAO.ManagerDAO,加载Lib.DAO.ManagerDAO类并生成该类的一个实例。
步骤三:调用数据访问类实例中与提出的访问请求相一致的数据操作,首先判断该业务实体类CRUD操作的信息是否已经保存在数据访问类中,CRUD(增、删、改、查)操作为所有模型所共有且与业务无关的操作,可以使用Java反射机制的类库java.lang.reflect包获取业务实体类的字段信息构造CRUD的SQL语句而不需用户手工编写,不仅节省开发者的时间而且这些SQL语句会适应业务实体类的变化。若已保存继续步骤四。
否则,利用Java反射机制的类库java.lang.reflect包获取业务实体类中的字段名称,构造对业务实体类进行CRUD操作的SQL语句。
以构造Role.libr.Manager的insert语句为例说明构造CRUD的SQL语句过程:Manager中含有字段:ID(int)、name(String)、department(String)、active(boolean)。将SQL语句分为三部分进行构造:SQLHead即insert into managerinfo、SQLMid即数据库中表的字段、SQLTail即values之后的语句。通过Java反射机制的类库java.lang.reflect包,获取业务实体类中的字段信息,遍历类的字段将字段名称加入SQLMid,SQLTail中加入一个代表参数的问号。例如:遍历到ID时,SQLMid为“(ID”,SQLTail为“values(?”;在遍历到name时,SQLMid为“(ID,Name”,SQLTail为“values(?,?”,遍历完成后为:SQLMid为“(ID,name,department,active)”,SQLTail为“values(?,?,?,?)”。遍历中以(key,value)的形式保存insert语句中字段名称及字段类型,例如Manager对应的insert语句字段名称及字段类型有:(“ID”,“int”),(“name”,“String”),(“department”,“String”),(“active”,“boolean”)。遍历类的字段完成后将SQLHead、SQLMid和SQLTail连接即构成该类的insert语句:insert intomanagerinfo(ID,name,department,active)values(?,?,?,?)。其余select、update、delete语句与此类似。
由于步骤一业务实体类字段名称和类型与数据库表字段名称和类型保持一致,因此由业务实体类字段的名称构造的SQL语句能够与数据库匹配。将构造的CRUD的SQL语句及其字段信息采用OpDescription类保存,OpDescription包含三种信息:操作的描述、SQL语句、SQL语句中的字段名称和字段类型。操作的描述可以事先约定,如add操作的描述为“add”、update操作的描述为“update”,数据访问类可根据具体业务需求添加符合业务逻辑的操作。并将OpDescription对象保存在该业务实体类对应的数据访问类中。
步骤四:访问请求从数据访问类中遍历查找,取出与访问请求相应的操作信息。例如:调用add方法取出操作描述为“add”的OpDescription对象。然后初始化操作数据库的条件,包括利用从数据库连接池中获取数据库连接,根据操作信息中的SQL语句建立操作语句和数据结果集。
步骤五:如图4所示,根据操作描述取出相应的OpDescription对象,按OpDescription对象字段名称的顺序依次利用Java反射机制的类库java.lang.reflect包激活数据访问参数中获取该字段的方法,,并将获得的字段内容赋给OpDescription对象中对应SQL语句,直到所有字段遍历完成。如果字段类型为布尔型,则获取该字段的方法名称为“Is+字段名()”,否则获取该字段的方法名称为“Get+字段名”。
例如:如图4所示,遍历该对象中的字段构造CRUD操作的SQL语句并保存操作信息,获取ManagerDAO的描述为“add”的OpDescription对象,遍历OpDescription对象的字段名称以给SQL语句的字段内容赋值,本实施例中遍历至active字段,由于active是布尔型变量,激活IsActive方法获取active的值。将得到的active的值bool利用JDBC的setBoolean(bool)方法赋给OpDescription对象中的SQL语句。
步骤六:执行步骤五中赋值完成OpDescription对象中的SQL语句,如果执行成功就将结果返回至应用层,并关闭数据库连接;否则捕获并处理出现的异常,关闭与数据库连接完成本次操作。
例如:添加Manager操作的insert语句,经步骤五赋值完成,执行该SQL语句,若成功为managerinfo表添加该条记录,则图书馆系统中增加了一位相应信息的管理员,返回至应用层并关闭数据库连接。否则捕获并处理出现的异常,返回至应用层并关闭数据库连接。
Claims (4)
1、一种数据持久化实现方法,其特征在于,包括如下步骤:
步骤一:根据具体的业务需求构建数据库,按照POJO构建与数据库表对应且字段名称一致的业务实体类,并配置数据库连接池;
步骤二:应用层根据统一访问接口向数据持久化层提出访问请求,接收到请求后,首先使用反射机制的类库获取访问请求中参数所属的业务实体类名,在配置文件中查找是否存在与该类名对应的数据访问类,若不存在则提示用户并退出操作,若存在加载并生成该数据访问类的一个实例;
步骤三:调用数据访问类实例中与提出的访问请求相一致的数据操作;首先判断对于该业务实体类进行CRUD操作的SQL语句是否保存在数据访问类中,若已保存在数据访问类中转步骤4;若没有则通过反射机制的类库动态获取业务实体类的字段名称与类型,构造对业务实体类进行CRUD的操作信息保存在数据访问类中;
步骤四:访问请求从数据访问类中遍历查找,取出与访问请求相应的操作信息;初始化数据库操作的条件,包括从数据库连接池中获取连接,建立操作语句和数据结果集;
步骤五:根据取出操作信息的字段名称及字段类型,获取各访问请求的字段名称对应的方法,并调用这些方法获取相应的字段内容值,将获得的值赋给对应操作信息中的SQL语句;
步骤六:执行操作信息中的SQL语句,如果执行成功,则将结果返回至应用层,并关闭数据库连接;否则,捕获并处理异常信息,再关闭数据库的连接。
2、根据权利要求1所述一种数据持久化实现方法,其特征在于:所述步骤二中,业务实体类与数据访问类的配置文件采用XML文件的形式,每条记录包括业务实体类的名称和该类相应的数据访问类的名称。
3、根据权利要求1所述一种数据持久化实现方法,其特征在于:所述步骤三中采用反射机制的类库动态获取业务实体类的字段名称和字段类型,这些信息用来构造CRUD数据操作的SQL语句,使用自定义的数据结构保存CRUD操作的含义,包含的信息有:操作的描述、操作的SQL语句、SQL语句的字段名称及字段类型;SQL语句的字段名称及字段类型采用键值对的形式保存。
4、根据权利要求1所述一种数据持久化实现方法,其特征在于:所述步骤五中获取各访问请求的字段名称对应的方法时,按操作信息中SQL字段名称的顺序依次利用反射机制的类库激活访问请求参数中该字段所对应的方法;如果字段类型为布尔型,则获取该字段的方法名称为“Is+字段名()”,否则获取该字段的方法名称为“Get+字段名()”,并将获得的字段内容赋给操作信息中的对应SQL语句。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810116861A CN100578509C (zh) | 2008-07-18 | 2008-07-18 | 一种数据持久化实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810116861A CN100578509C (zh) | 2008-07-18 | 2008-07-18 | 一种数据持久化实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101339559A true CN101339559A (zh) | 2009-01-07 |
CN100578509C CN100578509C (zh) | 2010-01-06 |
Family
ID=40213628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810116861A Expired - Fee Related CN100578509C (zh) | 2008-07-18 | 2008-07-18 | 一种数据持久化实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100578509C (zh) |
Cited By (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101840352A (zh) * | 2010-04-29 | 2010-09-22 | 中兴通讯股份有限公司 | 一种数据库连接池的监控方法及装置 |
CN102054034A (zh) * | 2010-12-27 | 2011-05-11 | 华中科技大学 | 企业信息系统的业务基础数据持久化实现方法 |
CN102521277A (zh) * | 2011-11-24 | 2012-06-27 | 广东高新兴通信股份有限公司 | 一种数据库平台的访问方法 |
CN102571720A (zh) * | 2010-12-27 | 2012-07-11 | 中国移动通信集团辽宁有限公司 | 一种异构信息内容处理方法及装置 |
CN102566990A (zh) * | 2010-12-09 | 2012-07-11 | 北大方正集团有限公司 | 一种在Java应用中进行数据操作的方法及装置 |
CN102819588A (zh) * | 2012-08-06 | 2012-12-12 | 南京中兴软创科技股份有限公司 | 一种应用于Oracle数据库的动态数据处理方法 |
CN101751260B (zh) * | 2009-12-23 | 2013-01-02 | 卡斯柯信号有限公司 | 一种基于动态标签的业务对象持久化处理方法 |
CN103412743A (zh) * | 2013-07-12 | 2013-11-27 | 北明软件股份有限公司 | 一种基于xml的自动调用业务规则的方法 |
CN103425793A (zh) * | 2013-08-28 | 2013-12-04 | 五八同城信息技术有限公司 | 用于即时通讯系统中利用数据库存储层访问数据库的方法 |
CN103530427A (zh) * | 2013-11-04 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于多数据库的动态切换方法和装置 |
CN103810212A (zh) * | 2012-11-14 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种数据库索引的自动创建方法及系统 |
CN103955370A (zh) * | 2014-04-28 | 2014-07-30 | 华为软件技术有限公司 | 一种领域对象模型的持久化装置和方法 |
CN104102689A (zh) * | 2014-05-12 | 2014-10-15 | 华迪计算机集团有限公司 | 基于数据模型对媒体数据进行检索的方法和装置 |
CN104484177A (zh) * | 2014-12-17 | 2015-04-01 | 南京莱斯信息技术股份有限公司 | 一种mybatis命名空间映射的方法 |
CN104679500A (zh) * | 2013-12-03 | 2015-06-03 | 南京中兴力维软件有限公司 | 实体类自动生成实现方法及装置 |
CN105138692A (zh) * | 2015-09-18 | 2015-12-09 | 山大地纬软件股份有限公司 | 一种大数据访问和管理的中间件定制系统与方法 |
CN105159920A (zh) * | 2015-07-28 | 2015-12-16 | 卡斯柯信号有限公司 | 一种基于属性标签的数据库访问方法 |
CN105373536A (zh) * | 2014-08-19 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种实现dao接口的方法及装置 |
CN105447051A (zh) * | 2014-09-22 | 2016-03-30 | 普天信息技术有限公司 | 一种数据库操作的方法和装置 |
CN105528424A (zh) * | 2015-12-07 | 2016-04-27 | 普元信息技术股份有限公司 | 大数据环境下实现数据持久化的系统及方法 |
CN105843788A (zh) * | 2016-03-31 | 2016-08-10 | 浪潮通信信息系统有限公司 | 一种生成报表的方法及装置 |
CN105867928A (zh) * | 2016-03-30 | 2016-08-17 | 北京奇虎科技有限公司 | 一种在指定分布式系统中接入指定计算模型的方法和装置 |
CN106126224A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮软件集团有限公司 | 一种生成程序对象的工具、系统和方法 |
CN106446182A (zh) * | 2016-09-29 | 2017-02-22 | 贵州云众知乐教育科技有限公司 | 一种数据库引擎 |
CN107992566A (zh) * | 2017-11-29 | 2018-05-04 | 北京天健通泰科技有限公司 | 基于Hibernate的数据映射方法及系统 |
CN108108444A (zh) * | 2017-12-22 | 2018-06-01 | 国云科技股份有限公司 | 一种企业业务单元自适应系统及其实现方法 |
CN108509628A (zh) * | 2018-04-08 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据库配置方法、装置、计算机设备和存储介质 |
CN108710504A (zh) * | 2017-04-10 | 2018-10-26 | 北大方正集团有限公司 | 数据库操作方法及装置 |
CN109032566A (zh) * | 2018-06-22 | 2018-12-18 | 深圳探科技术有限公司 | 一种软件逻辑层与通讯层的去耦合方法及装置 |
CN109086034A (zh) * | 2018-07-13 | 2018-12-25 | 山东恒云信息科技有限公司 | 利用AOP与Spring依赖注入实现应用数据自动备份的方法 |
CN109165039A (zh) * | 2018-04-28 | 2019-01-08 | 北京数聚鑫云信息技术有限公司 | 一种web API的配置及执行方法、系统及介质 |
CN109241551A (zh) * | 2018-07-11 | 2019-01-18 | 武汉大学 | 拱坝浇筑施工仿真对象的持久化方法 |
CN109739484A (zh) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种资产关系模型构建系统、方法及存储介质 |
CN109933587A (zh) * | 2019-02-26 | 2019-06-25 | 厦门市美亚柏科信息股份有限公司 | 基于目录注册的数据处理方法、装置、系统及存储介质 |
CN110188071A (zh) * | 2019-04-19 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN110275817A (zh) * | 2019-06-13 | 2019-09-24 | 北京航空航天大学 | 一种基于模型驱动的日志文件自动生成方法 |
CN110750553A (zh) * | 2019-09-02 | 2020-02-04 | 成都市知用科技有限公司 | 一种在业务管理系统中对数据进行自定义导出的方法 |
CN110825800A (zh) * | 2019-11-02 | 2020-02-21 | 国网甘肃省电力公司信息通信公司 | 一种多点异构环境下的业务数据自动传输校验方法 |
CN111159198A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 参数交易处理方法及装置、计算机设备及可读存储介质 |
CN111352918A (zh) * | 2018-12-21 | 2020-06-30 | 卓望数码技术(深圳)有限公司 | 一种终端数据库数据迁移方法及系统 |
CN111708926A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111881220A (zh) * | 2020-06-22 | 2020-11-03 | 北京城市网邻信息技术有限公司 | 列表存储下的数据操作方法、装置、电子设备和存储介质 |
CN111966717A (zh) * | 2020-09-04 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种降低数据库崩溃概率的数据访问方法及系统 |
CN111984666A (zh) * | 2019-05-23 | 2020-11-24 | 北京数聚鑫云信息技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算机设备 |
CN112148746A (zh) * | 2020-08-21 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 生成数据库表结构文档的方法、装置、电子装置和存储介质 |
CN112181996A (zh) * | 2020-09-02 | 2021-01-05 | 河海大学 | 关系数据库统一数据存取中间件方法及系统 |
CN112181963A (zh) * | 2020-09-28 | 2021-01-05 | 新奥数能科技有限公司 | 面向数字化企业的数据处理方法、装置、服务器和存储介质 |
CN113656433A (zh) * | 2021-08-16 | 2021-11-16 | 北京京东振世信息技术有限公司 | 实体对象扩展方法、装置、电子设备和存储介质 |
CN113987372A (zh) * | 2021-12-27 | 2022-01-28 | 昆仑智汇数据科技(北京)有限公司 | 一种领域业务对象模型的热点数据获取方法、装置及设备 |
CN111427867B (zh) * | 2020-03-30 | 2023-10-20 | 杭州华望系统科技有限公司 | 一种基于混合式存储的模型持久化方法 |
-
2008
- 2008-07-18 CN CN200810116861A patent/CN100578509C/zh not_active Expired - Fee Related
Cited By (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751260B (zh) * | 2009-12-23 | 2013-01-02 | 卡斯柯信号有限公司 | 一种基于动态标签的业务对象持久化处理方法 |
CN101840352B (zh) * | 2010-04-29 | 2014-09-10 | 中兴通讯股份有限公司 | 一种数据库连接池的监控方法及装置 |
CN101840352A (zh) * | 2010-04-29 | 2010-09-22 | 中兴通讯股份有限公司 | 一种数据库连接池的监控方法及装置 |
CN102566990A (zh) * | 2010-12-09 | 2012-07-11 | 北大方正集团有限公司 | 一种在Java应用中进行数据操作的方法及装置 |
CN102566990B (zh) * | 2010-12-09 | 2015-03-11 | 北大方正集团有限公司 | 一种在Java应用中进行数据操作的方法及装置 |
CN102054034A (zh) * | 2010-12-27 | 2011-05-11 | 华中科技大学 | 企业信息系统的业务基础数据持久化实现方法 |
CN102571720A (zh) * | 2010-12-27 | 2012-07-11 | 中国移动通信集团辽宁有限公司 | 一种异构信息内容处理方法及装置 |
CN102571720B (zh) * | 2010-12-27 | 2015-02-04 | 中国移动通信集团辽宁有限公司 | 一种异构信息内容处理方法及装置 |
CN102521277A (zh) * | 2011-11-24 | 2012-06-27 | 广东高新兴通信股份有限公司 | 一种数据库平台的访问方法 |
CN102819588A (zh) * | 2012-08-06 | 2012-12-12 | 南京中兴软创科技股份有限公司 | 一种应用于Oracle数据库的动态数据处理方法 |
CN103810212B (zh) * | 2012-11-14 | 2017-05-24 | 阿里巴巴集团控股有限公司 | 一种数据库索引的自动创建方法及系统 |
CN103810212A (zh) * | 2012-11-14 | 2014-05-21 | 阿里巴巴集团控股有限公司 | 一种数据库索引的自动创建方法及系统 |
CN103412743A (zh) * | 2013-07-12 | 2013-11-27 | 北明软件股份有限公司 | 一种基于xml的自动调用业务规则的方法 |
CN103412743B (zh) * | 2013-07-12 | 2016-06-22 | 北明软件股份有限公司 | 一种基于xml的自动调用业务规则的方法 |
CN103425793B (zh) * | 2013-08-28 | 2017-03-01 | 五八同城信息技术有限公司 | 用于即时通讯系统中利用数据库存储层访问数据库的方法 |
CN103425793A (zh) * | 2013-08-28 | 2013-12-04 | 五八同城信息技术有限公司 | 用于即时通讯系统中利用数据库存储层访问数据库的方法 |
CN103530427A (zh) * | 2013-11-04 | 2014-01-22 | 北京京东尚科信息技术有限公司 | 一种基于多数据库的动态切换方法和装置 |
CN103530427B (zh) * | 2013-11-04 | 2018-10-19 | 北京京东尚科信息技术有限公司 | 一种基于多数据库的动态切换方法和装置 |
CN104679500A (zh) * | 2013-12-03 | 2015-06-03 | 南京中兴力维软件有限公司 | 实体类自动生成实现方法及装置 |
CN103955370A (zh) * | 2014-04-28 | 2014-07-30 | 华为软件技术有限公司 | 一种领域对象模型的持久化装置和方法 |
CN103955370B (zh) * | 2014-04-28 | 2017-07-07 | 华为软件技术有限公司 | 一种领域对象模型的持久化装置和方法 |
CN104102689A (zh) * | 2014-05-12 | 2014-10-15 | 华迪计算机集团有限公司 | 基于数据模型对媒体数据进行检索的方法和装置 |
CN104102689B (zh) * | 2014-05-12 | 2018-01-12 | 华迪计算机集团有限公司 | 基于数据模型对媒体数据进行检索的方法和装置 |
CN105373536A (zh) * | 2014-08-19 | 2016-03-02 | 阿里巴巴集团控股有限公司 | 一种实现dao接口的方法及装置 |
CN105373536B (zh) * | 2014-08-19 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 一种实现dao接口的方法及装置 |
CN105447051A (zh) * | 2014-09-22 | 2016-03-30 | 普天信息技术有限公司 | 一种数据库操作的方法和装置 |
CN104484177A (zh) * | 2014-12-17 | 2015-04-01 | 南京莱斯信息技术股份有限公司 | 一种mybatis命名空间映射的方法 |
CN104484177B (zh) * | 2014-12-17 | 2017-12-05 | 南京莱斯信息技术股份有限公司 | 一种mybatis命名空间映射的方法 |
CN105159920A (zh) * | 2015-07-28 | 2015-12-16 | 卡斯柯信号有限公司 | 一种基于属性标签的数据库访问方法 |
CN105138692A (zh) * | 2015-09-18 | 2015-12-09 | 山大地纬软件股份有限公司 | 一种大数据访问和管理的中间件定制系统与方法 |
CN105138692B (zh) * | 2015-09-18 | 2018-07-03 | 山大地纬软件股份有限公司 | 一种大数据访问和管理的中间件定制系统与方法 |
CN105528424A (zh) * | 2015-12-07 | 2016-04-27 | 普元信息技术股份有限公司 | 大数据环境下实现数据持久化的系统及方法 |
CN105528424B (zh) * | 2015-12-07 | 2019-03-05 | 普元信息技术股份有限公司 | 大数据环境下实现数据持久化的系统及方法 |
CN105867928B (zh) * | 2016-03-30 | 2019-06-04 | 北京奇虎科技有限公司 | 一种在指定分布式系统中接入指定计算模型的方法和装置 |
CN105867928A (zh) * | 2016-03-30 | 2016-08-17 | 北京奇虎科技有限公司 | 一种在指定分布式系统中接入指定计算模型的方法和装置 |
CN105843788A (zh) * | 2016-03-31 | 2016-08-10 | 浪潮通信信息系统有限公司 | 一种生成报表的方法及装置 |
CN106126224A (zh) * | 2016-06-21 | 2016-11-16 | 浪潮软件集团有限公司 | 一种生成程序对象的工具、系统和方法 |
CN106446182A (zh) * | 2016-09-29 | 2017-02-22 | 贵州云众知乐教育科技有限公司 | 一种数据库引擎 |
CN108710504A (zh) * | 2017-04-10 | 2018-10-26 | 北大方正集团有限公司 | 数据库操作方法及装置 |
CN107992566A (zh) * | 2017-11-29 | 2018-05-04 | 北京天健通泰科技有限公司 | 基于Hibernate的数据映射方法及系统 |
CN108108444A (zh) * | 2017-12-22 | 2018-06-01 | 国云科技股份有限公司 | 一种企业业务单元自适应系统及其实现方法 |
CN108509628A (zh) * | 2018-04-08 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据库配置方法、装置、计算机设备和存储介质 |
CN108509628B (zh) * | 2018-04-08 | 2022-03-29 | 腾讯科技(深圳)有限公司 | 数据库配置方法、装置、计算机设备和存储介质 |
CN109165039A (zh) * | 2018-04-28 | 2019-01-08 | 北京数聚鑫云信息技术有限公司 | 一种web API的配置及执行方法、系统及介质 |
CN109165039B (zh) * | 2018-04-28 | 2019-10-01 | 北京数聚鑫云信息技术有限公司 | 一种web API的配置及执行方法、系统及介质 |
CN109032566A (zh) * | 2018-06-22 | 2018-12-18 | 深圳探科技术有限公司 | 一种软件逻辑层与通讯层的去耦合方法及装置 |
CN109032566B (zh) * | 2018-06-22 | 2022-04-26 | 深圳探科技术有限公司 | 一种软件逻辑层与通讯层的去耦合方法及装置 |
CN109241551A (zh) * | 2018-07-11 | 2019-01-18 | 武汉大学 | 拱坝浇筑施工仿真对象的持久化方法 |
CN109086034B (zh) * | 2018-07-13 | 2021-07-02 | 山东恒云信息科技有限公司 | 利用AOP与Spring依赖注入实现应用数据自动备份的方法 |
CN109086034A (zh) * | 2018-07-13 | 2018-12-25 | 山东恒云信息科技有限公司 | 利用AOP与Spring依赖注入实现应用数据自动备份的方法 |
CN111352918A (zh) * | 2018-12-21 | 2020-06-30 | 卓望数码技术(深圳)有限公司 | 一种终端数据库数据迁移方法及系统 |
CN111352918B (zh) * | 2018-12-21 | 2023-05-23 | 卓望数码技术(深圳)有限公司 | 一种终端数据库数据迁移方法及系统 |
CN109739484A (zh) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | 一种资产关系模型构建系统、方法及存储介质 |
CN109739484B (zh) * | 2018-12-28 | 2022-04-05 | 绿盟科技集团股份有限公司 | 一种资产关系模型构建系统、方法及存储介质 |
CN109933587B (zh) * | 2019-02-26 | 2023-04-11 | 厦门市美亚柏科信息股份有限公司 | 基于目录注册的数据处理方法、装置、系统及存储介质 |
CN109933587A (zh) * | 2019-02-26 | 2019-06-25 | 厦门市美亚柏科信息股份有限公司 | 基于目录注册的数据处理方法、装置、系统及存储介质 |
CN110188071A (zh) * | 2019-04-19 | 2019-08-30 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN110188071B (zh) * | 2019-04-19 | 2021-11-02 | 北京奇艺世纪科技有限公司 | 数据处理方法、装置、电子设备和计算机可读介质 |
CN111984666B (zh) * | 2019-05-23 | 2024-03-29 | 北京数聚鑫云信息技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算机设备 |
CN111984666A (zh) * | 2019-05-23 | 2020-11-24 | 北京数聚鑫云信息技术有限公司 | 数据库访问方法、装置、计算机可读存储介质和计算机设备 |
CN110275817A (zh) * | 2019-06-13 | 2019-09-24 | 北京航空航天大学 | 一种基于模型驱动的日志文件自动生成方法 |
CN110275817B (zh) * | 2019-06-13 | 2020-09-22 | 北京航空航天大学 | 一种基于模型驱动的日志文件自动生成方法 |
CN110750553A (zh) * | 2019-09-02 | 2020-02-04 | 成都市知用科技有限公司 | 一种在业务管理系统中对数据进行自定义导出的方法 |
CN110825800A (zh) * | 2019-11-02 | 2020-02-21 | 国网甘肃省电力公司信息通信公司 | 一种多点异构环境下的业务数据自动传输校验方法 |
CN111159198A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 参数交易处理方法及装置、计算机设备及可读存储介质 |
CN111159198B (zh) * | 2019-12-31 | 2024-04-19 | 中国银行股份有限公司 | 参数交易处理方法及装置、计算机设备及可读存储介质 |
CN111427867B (zh) * | 2020-03-30 | 2023-10-20 | 杭州华望系统科技有限公司 | 一种基于混合式存储的模型持久化方法 |
CN111708926A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111708926B (zh) * | 2020-06-12 | 2023-06-13 | 北京思特奇信息技术股份有限公司 | 数据查询的配置化实现方法及系统 |
CN111881220A (zh) * | 2020-06-22 | 2020-11-03 | 北京城市网邻信息技术有限公司 | 列表存储下的数据操作方法、装置、电子设备和存储介质 |
CN112148746B (zh) * | 2020-08-21 | 2024-03-26 | 杭州安恒信息技术股份有限公司 | 生成数据库表结构文档的方法、装置、电子装置和存储介质 |
CN112148746A (zh) * | 2020-08-21 | 2020-12-29 | 杭州安恒信息技术股份有限公司 | 生成数据库表结构文档的方法、装置、电子装置和存储介质 |
CN112181996A (zh) * | 2020-09-02 | 2021-01-05 | 河海大学 | 关系数据库统一数据存取中间件方法及系统 |
CN112181996B (zh) * | 2020-09-02 | 2022-09-16 | 河海大学 | 关系数据库统一数据存取中间件方法及系统 |
CN111966717B (zh) * | 2020-09-04 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种降低数据库崩溃概率的数据访问方法及系统 |
CN111966717A (zh) * | 2020-09-04 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种降低数据库崩溃概率的数据访问方法及系统 |
CN112181963A (zh) * | 2020-09-28 | 2021-01-05 | 新奥数能科技有限公司 | 面向数字化企业的数据处理方法、装置、服务器和存储介质 |
CN113656433B (zh) * | 2021-08-16 | 2023-09-05 | 北京京东振世信息技术有限公司 | 实体对象扩展方法、装置、电子设备和存储介质 |
CN113656433A (zh) * | 2021-08-16 | 2021-11-16 | 北京京东振世信息技术有限公司 | 实体对象扩展方法、装置、电子设备和存储介质 |
CN113987372A (zh) * | 2021-12-27 | 2022-01-28 | 昆仑智汇数据科技(北京)有限公司 | 一种领域业务对象模型的热点数据获取方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100578509C (zh) | 2010-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100578509C (zh) | 一种数据持久化实现方法 | |
Bonner et al. | Concurrency and Communication in Transaction Logic. | |
US8032890B2 (en) | Resources managing in isolated plurality of applications context using data slots to access application global data and specification of resources lifetime to access resources | |
US7676493B2 (en) | Incremental approach to an object-relational solution | |
US20050108684A1 (en) | Method and system for generating an application object repository from application framework metadata | |
WO2003034182A2 (en) | System and method for invoking business functionality for a workflow | |
US7483901B1 (en) | System and method for data transfer between two or more connected software services | |
Keith et al. | Pro JPA 2 | |
Wells et al. | Linda implementations in Java for concurrent systems | |
Kelly et al. | What is Needed in a MetaCASE Environment? | |
Keith et al. | Pro JPA 2 in Java EE 8: An In-Depth Guide to Java Persistence APIs | |
US11204908B2 (en) | Augmentation playback | |
Milanovic et al. | Model&metamodel, metadata and document repository for software and data integration | |
Kirchberg et al. | A multi-level architecture for distributed object bases | |
Kozankiewicz et al. | SBQL Views-Prototype of Updateable Views. | |
Pitoura | Providing Database Interoperability through Object-Oriented Language Constructs | |
Troelsen et al. | Introducing Entity Framework Core | |
CN1322418C (zh) | 实现对象持续化服务的系统及其方法 | |
Roantree | Engineering Federated Information Systems: Proceedings of the 3rd Workshop, EFIS 2000, June 19-20, 2000, Dublin (Ireland) | |
US7770186B2 (en) | Framework for database transactions | |
Momotko et al. | Business process query language | |
Wipp | Workflows on Android: A framework supporting business process execution and rule-based analysis | |
KR100490750B1 (ko) | Ejb 영속 상태 객체로 표현된 데이터베이스 엔터티들의자동화된 상호관계 관리 방법 | |
Kühn et al. | Concurrency and backtracking in Vienna parallel logic | |
Queirós | Explorar performance com Apollo Federation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100106 Termination date: 20130718 |