一种数据库对象布局模型产生的方法技术

技术编号:17033080 阅读:22 留言:0更新日期:2018-01-13 19:30
本发明专利技术涉及一种数据库对象布局模型产生的方法,包括如下步骤:接收用户发来的输入对象,实时的读取输入对象的属性,根据读取预设协议,将输入对象及其属性进行转换,产生数据库基础对象布局模型,在数据库基础对象布局模型的基础上进一步产生数据库对象布局模型。本发明专利技术,通过该模型,实现SQL语句封装和解析,降低访问数据库时代码的编写工作,提高开发效率,避免重复劳动累积产生的错误。

【技术实现步骤摘要】
一种数据库对象布局模型产生的方法
本专利技术涉及数据库
,具体说是一种数据库对象布局模型产生的方法。
技术介绍
随着数据库技术的发展,各种需求不断出现,不断督促着进一步的技术革新、升级。在程序开发中,程序员有时会遇到如下情况:在公司上班时,有时候白天的活没干完,程序员就会把工作带回家晚上加班继续做。但是,公司为程序开发配套的开发用数据库通常是实体数据库,是部署在开发支持服务器上的,所述开发支持服务器是公司局域网内部的一台服务器,服务端正常运行依赖于开发支持服务器上的开发用数据库。由于在家加班是无法接入公司局域网内部的,因此就不能连上开发支持服务器上的开发用数据库,这就导致服务端不能正常工作,程序开发时功能也就没办法调试。现有技术中,一种解决方法就是使用虚拟数据库。在公司上班时,就使用公司为程序开发配套的开发用数据库;回到家,就使用内存中的虚拟数据库模拟开发用数据库,做一些基本的功能调试,一般情况下绝对是足够了。当前app中需要大量的本地化存储服务。为了满足当前业务需求,我们在app中需要大量使用数据库工具,本专利技术旨在让程序员便捷开发。实体数据库读取数据需要以下步骤:1、跟数据库建立连接,2、编写SQL查询语句,3、执行查询语句,4、得到查询结果,5、关闭数据库。显然,在需要频繁跟数据库进行交互、需要频繁读取/存储数据的今天,访问数据库的工作量非常大,程序员繁琐的编写SQL语句,不但工作量大,而且容易导致出错,有必要对此进一步进行合理的优化。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种数据库对象布局模型产生的方法,通过该模型,实现SQL语句封装和解析,降低访问数据库时代码的编写工作,提高开发效率,避免重复劳动累积产生的错误。为达到以上目的,本专利技术采取的技术方案是:一种数据库对象布局模型产生的方法,其特征在于,包括如下步骤:接收用户发来的输入对象,实时的读取输入对象的属性,根据读取预设协议,将输入对象及其属性进行转换,产生数据库基础对象布局模型,在数据库基础对象布局模型的基础上进一步产生数据库对象布局模型,其中:通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,配合对象类型解析器解析出每一个数据的类型,然后映射到数据库中的信息,包括数据库类型,数据库默认值,数据库默认大小等信息,结合运行时函数property_getName()解析出对象中,此类型属性所对应的Key值,然后利用KeyValue来获取类型对应的数据值。在上述技术方案的基础上,对输入对象及其属性依次进行下述处理,产生对象类型和数据库类型对应表:对输入对象及其属性进行类型转换处理,对输入对象及其属性进行对象类型转换处理,对输入对象及其属性进行数据库类型转换处理。在上述技术方案的基础上,通过预设协议,从输入对象及其属性中,解析出以下信息:数据默认值,数据默认大小,主键,数据非空限制。在上述技术方案的基础上,将得到的对象类型和数据库类型对应表、数据默认值、数据默认大小、主键、数据非空限制整合,得到数据库基础对象布局模型。在上述技术方案的基础上,通过预设协议,从输入对象及其属性中,解析出以下信息:存储数据值,表名称,数据库升级提醒标志位,数据库特殊字段处理标志位。在上述技术方案的基础上,将得到的数据库基础对象布局模型、存储数据值、表名称、数据库升级提醒标志位、数据库特殊字段处理标志位整合,得到数据库对象布局模型。本专利技术所述的数据库对象布局模型产生的方法,通过该模型,实现SQL语句封装和解析,降低访问数据库时代码的编写工作,提高开发效率,避免重复劳动累积产生的错误。附图说明本专利技术有如下附图:图1本专利技术的流程框图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的数据库对象布局模型产生的方法,包括如下步骤:接收用户发来的输入对象,实时(Runtime)的读取输入对象的属性,根据读取预设协议,将输入对象及其属性进行转换,产生数据库基础对象布局模型,在数据库基础对象布局模型的基础上进一步产生数据库对象布局模型。在上述技术方案的基础上,对输入对象及其属性依次进行下述处理,产生对象类型和数据库类型对应表:对输入对象及其属性进行类型转换处理,对输入对象及其属性进行对象类型转换处理,对输入对象及其属性进行数据库类型转换处理。在上述技术方案的基础上,通过预设协议,从输入对象及其属性中,解析出以下信息:数据默认值,数据默认大小,主键,数据非空限制。在上述技术方案的基础上,将得到的对象类型和数据库类型对应表、数据默认值、数据默认大小、主键、数据非空限制整合,得到数据库基础对象布局模型。在上述技术方案的基础上,通过预设协议,从输入对象及其属性中,解析出以下信息:存储数据值,表名称,数据库升级提醒标志位,数据库特殊字段处理标志位。首先通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息。通过property_getAttributes()函数会获得如:Tq,D,N;T@”NSNumber”,&,D,N;此类的属性信息,通过对比系统类型参照表来获得相应信息。比如q在这里代表的是NSInteger类型等。objc_property_t*propertes=class_copyPropertyList(clazz,&propertesCount);constchar*attributesChar=property_getAttributes(propertes[i]);NSString*propertyStr=[NSStringstringWithCString:propertyCharencoding:NSUTF8StringEncoding];然后我们需要预定义映射字段:NSString*constkSqlStoreNamed=@"sql_store_name";NSString*constkSqlStoreValue=@"sql_store_value";NSString*constkSqlStoreType=@"sql_store_type";NSString*constkSqlStoreSize=@"sql_store_size";NSString*constkSqlStorePrimaryKey=@"sql_store_primaryKey";NSString*constkSqlStoreUnique=@"sql_store_unique";NSString*constkSqlStoreNotNull=@"sql_store_notNull";NSString*constkSqlTableNamed=@"sql_table_name";NSString*constkSqlStoreDefaultValue=@"sql_store_default_value";NSString*constkSqlStoreAuto本文档来自技高网...
一种数据库对象布局模型产生的方法

【技术保护点】
一种数据库对象布局模型产生的方法,其特征在于,包括如下步骤:接收用户发来的输入对象,实时的读取输入对象的属性,根据读取预设协议,将输入对象及其属性进行转换,产生数据库基础对象布局模型,在数据库基础对象布局模型的基础上进一步产生数据库对象布局模型,其中:通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,配合对象类型解析器解析出每一个数据的类型,然后映射到数据库中的信息,包括数据库类型,数据库默认值,数据库默认大小等信息,结合运行时函数property_getName() 解析出对象中,此类型属性所对应的Key值,然后利用KeyValue来获取类型对应的数据值。

【技术特征摘要】
1.一种数据库对象布局模型产生的方法,其特征在于,包括如下步骤:接收用户发来的输入对象,实时的读取输入对象的属性,根据读取预设协议,将输入对象及其属性进行转换,产生数据库基础对象布局模型,在数据库基础对象布局模型的基础上进一步产生数据库对象布局模型,其中:通过系统运行时函数:class_copyPropertyList()来获得类属性相关信息数组,通过运行时函数:property_getAttributes()来获得相应属性信息,通过对比系统类型参照表来获得相应信息,配合对象类型解析器解析出每一个数据的类型,然后映射到数据库中的信息,包括数据库类型,数据库默认值,数据库默认大小等信息,结合运行时函数property_getName()解析出对象中,此类型属性所对应的Key值,然后利用KeyValue来获取类型对应的数据值。2.如权利要求1所述的数据库对象布局模型产生的方法,其特征在于:对输入对象及其属性依次进行下述处理,产生对象类型和数...

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

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

1