一种实体数据库的读写方法技术

技术编号:17033078 阅读:17 留言:0更新日期:2018-01-13 19:30
本发明专利技术涉及一种实体数据库的读写方法,当需要实体数据库快速读取时,首先获取用户输入数据,然后将用户输入数据发送到数据库对象模型,所述数据库对象模型将用户输入数据中的数据类型解析为数据库对应的类型,所述数据库对象模型将用户输入数据中的OC对象解析为数据库表对应的结构,所述数据库对象模型根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,所述数据库对象模型将SQL语句发送给数据库,数据库执行SQL语句并返回查询结果。本发明专利技术,将繁琐、重复的SQL语句封装,访问数据库时不用再重复编写SQL语句,用一条代码即可实现对应的功能,降低了工作量,提高了开发效率,有效避免重复劳动导致的错误。

【技术实现步骤摘要】
一种实体数据库的读写方法
本专利技术涉及数据库
,具体说是一种实体数据库的读写方法。
技术介绍
随着数据库技术的发展,各种需求不断出现,不断督促着进一步的技术革新、升级。在程序开发中,程序员有时会遇到如下情况:在公司上班时,有时候白天的活没干完,程序员就会把工作带回家晚上加班继续做。但是,公司为程序开发配套的开发用数据库通常是实体数据库,是部署在开发支持服务器上的,所述开发支持服务器是公司局域网内部的一台服务器,服务端正常运行依赖于开发支持服务器上的开发用数据库。由于在家加班是无法接入公司局域网内部的,因此就不能连上开发支持服务器上的开发用数据库,这就导致服务端不能正常工作,程序开发时功能也就没办法调试。现有技术中,一种解决方法就是使用虚拟数据库。在公司上班时,就使用公司为程序开发配套的开发用数据库;回到家,就使用内存中的虚拟数据库模拟开发用数据库,做一些基本的功能调试,一般情况下绝对是足够了。当前app中需要大量的本地化存储服务。为了满足当前业务需求,我们在app中需要大量使用数据库工具,本解决方案旨在让程序员便捷开发。实体数据库读取数据需要以下步骤:1、跟数据库建立连接,2、编写sql查询语句,3、执行查询语句,4、得到查询结果,5、关闭数据库。显然,在需要频繁跟数据库进行交互、需要频繁读取/存储数据的今天,访问数据库的工作量非常大,程序员繁琐的编写SQL语句,不但工作量大,而且容易导致出错,有必要对此进一步进行合理的优化。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种实体数据库的读写方法,将繁琐、重复的SQL语句封装,访问数据库时不用再重复编写SQL语句,用一条代码即可实现对应的功能,降低了工作量,提高了开发效率,有效避免重复劳动导致的错误。为达到以上目的,本专利技术采取的技术方案是:一种实体数据库的读写方法,其特征在于,包括如下步骤:当需要实体数据库快速读取时,首先获取用户输入数据,然后将用户输入数据发送到数据库对象模型,所述数据库对象模型将用户输入数据中的数据类型解析为数据库对应的类型,所述数据库对象模型将用户输入数据中的OC对象解析为数据库表对应的结构,所述数据库对象模型根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,所述数据库对象模型将SQL语句发送给数据库,数据库执行SQL语句并返回查询结果。在上述技术方案的基础上,所述数据库对象模型采用四层架构设计,其中包括:数据类型解析层,用于将用户输入数据中的数据类型解析为数据库对应的类型,其中:用户输入数据中的数据类型包括:数字类型,整数类型,浮点类型,布尔类型,字符串类型,二进制数据类型,图片类型,日期类型,通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,数据库对应的类型包括:INTEGER,REAL,TEXT,BLOB,对象布局层,用于将用户输入数据中的OC对象解析为数据库表对应的结构,且使数据库表对应的结构支持解析得到的数据库对应的类型,其中:通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,配合对象类型解析器解析出每一个数据的类型,然后映射到数据库中的信息,包括数据库类型,数据库默认值,数据库默认大小等信息,结合运行时函数property_getName()解析出对象中,此类型属性所对应的Key值,然后利用KeyValue来获取类型对应的数据值,SQL语句生成层,用于根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,数据库操作层,用于将SQL语句发送给数据库,用于接收返回的查询结果。在上述技术方案的基础上,在对象布局层,根据用户定义,产生是否升级数据库的选项:对象布局层解析出数据库表对应的结构后,和数据库已有的数据库表进行比对,当差异的数量超出用户定义值时,产生升级数据库的选项。在上述技术方案的基础上,在SQL语句生成层,根据传入的升级数据库的选项,在生成SQL语句中,增加相应的数据库升级指令。本专利技术所述的实体数据库的读写方法,将繁琐、重复的SQL语句封装,访问数据库时不用再重复编写SQL语句,用一条代码即可实现对应的功能,降低了工作量,提高了开发效率,有效避免重复劳动导致的错误。附图说明本专利技术有如下附图:图1本专利技术的架构示意图。图2本专利技术的流程框图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1、2所示,本专利技术所述的实体数据库的读写方法,包括如下步骤:当需要实体数据库快速读取时,首先获取用户输入数据,然后将用户输入数据发送到数据库对象模型,所述数据库对象模型将用户输入数据中的数据类型解析为数据库对应的类型,所述数据库对象模型将用户输入数据中的OC对象解析为数据库表对应的结构,所述数据库对象模型根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,所述数据库对象模型将SQL语句发送给数据库,数据库执行SQL语句并返回查询结果。在上述技术方案的基础上,所述数据库对象模型采用四层架构设计,其中包括:数据类型解析层,用于将用户输入数据中的数据类型解析为数据库对应的类型,对象布局层,用于将用户输入数据中的OC对象解析为数据库表对应的结构,且使数据库表对应的结构支持解析得到的数据库对应的类型,SQL语句生成层,用于根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,数据库操作层,用于将SQL语句发送给数据库,用于接收返回的查询结果。首先要通过数据类型解析层来解析数据:此处预设类型有:数字类型,整数类型,浮点类型,布尔类型,字符串类型,二进制数据类型,图片类型,日期类型。typedefNS_ENUM(NSUInteger,SSTypeCode){__TYPE_Unknown,__TYPE_Number,__TYPE_Integer,__TYPE_Float,__TYPE_BOOL,__TYPE_String,__TYPE_Data,__TYPE_UIImage,__TYPE_Date,};其中Number数字类型又有整数类型和浮点数类型。通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息。通过property_getAttributes()函数会获得如:Tq,D,N;T@”NSNumber”,&,D,N;此类的属性信息,通过对比系统类型参照表来获得相应信息。比如q在这里代表的是NSInteger类型等。这样我们可以通过下列算法来获得具体类型信息:+(SSTypeCode)typeCodeWithAttributes:(constchar*)attribute{if(attribute[0]!='T')return__TYPE_Unknown;constchar*type=&attrib本文档来自技高网...
一种实体数据库的读写方法

【技术保护点】
一种实体数据库的读写方法,其特征在于,包括如下步骤:当需要实体数据库快速读取时,首先获取用户输入数据,然后将用户输入数据发送到数据库对象模型,所述数据库对象模型将用户输入数据中的数据类型解析为数据库对应的类型,所述数据库对象模型将用户输入数据中的OC对象解析为数据库表对应的结构,所述数据库对象模型根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,所述数据库对象模型将SQL语句发送给数据库,数据库执行SQL语句并返回查询结果。

【技术特征摘要】
1.一种实体数据库的读写方法,其特征在于,包括如下步骤:当需要实体数据库快速读取时,首先获取用户输入数据,然后将用户输入数据发送到数据库对象模型,所述数据库对象模型将用户输入数据中的数据类型解析为数据库对应的类型,所述数据库对象模型将用户输入数据中的OC对象解析为数据库表对应的结构,所述数据库对象模型根据解析出的数据库对应的类型及数据库表对应的结构,生成SQL语句,所述数据库对象模型将SQL语句发送给数据库,数据库执行SQL语句并返回查询结果。2.如权利要求1所述的实体数据库的读写方法,其特征在于:所述数据库对象模型采用四层架构设计,其中包括:数据类型解析层,用于将用户输入数据中的数据类型解析为数据库对应的类型,其中:用户输入数据中的数据类型包括:数字类型,整数类型,浮点类型,布尔类型,字符串类型,二进制数据类型,图片类型,日期类型,通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,数据库对应的类型包括:INTEGER,REAL,TEXT,BLOB,对象布局层,用于将用户输入数据中的OC对象解析为数据库表...

【专利技术属性】
技术研发人员:邱扬
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1