[发明专利]一种在Flutter中实现DB ORM的方法在审
申请号: | 202210169301.1 | 申请日: | 2022-02-23 |
公开(公告)号: | CN114756566A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 王柏华;单文政;马仕信;孙彪;张连超 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 271000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flutter 实现 db orm 方法 | ||
1.一种在Flutter中实现DB ORM的方法,其特征在于,通过Model实例的JOSNObject获取key-values从而拼装相应的SQL,该方法的实现过程如下:
1)、首先声明Tuple类;
2)、通过JSONSerializable通用API获取Model实例的key-value;
3)、遍历步骤2)获取到的所有key-value,将这些数据实例化ListTuple;
4)、通过步骤3)获取到的ListTuple拼装create SQL语句;
5)、通过步骤1)至步骤4),使用相同的方法拼装insert、update、delete语句,完成Flutter下DB ORM的设计。
2.根据权利要求1所述的一种在Flutter中实现DB ORM的方法,其特征在于,在Flutter中创建Tuple类,Tuple类包含2-6个属性,属性的类型为dynamic;
第一个属性根据指定Model的属性名来定义;第二个属性为varchar或者Text,数据类型的处理,根据Model的属性类型来定义,加入name类型为String;
然后将这些属性集中放到List中处理,再拼装SQL,从而实现Flutter DB ORM的model映射表创建操作。
3.根据权利要求1或2所述的一种在Flutter中实现DB ORM的方法,其特征在于,所述Tuple类为IHTTupleTwo类,IHTTupleTwo类包含两个属性item1,item2,分别用来存储Model转化出的KEY名称和VALUE类型。
4.根据权利要求3所述的一种在Flutter中实现DB ORM的方法,其特征在于对于实现Flutter DB ORM的model映射表创建,
所述第一个属性item1根据指定Model的属性名来定义,需要根据Model(name,age,id)来创建一个表时,第一个属性使用IHTTupleTwo(name,数据类型)表示;
第二个属性item2为varchar(255)或者Text。
5.根据权利要求3所述的一种在Flutter中实现DB ORM的方法,其特征在于,根据存储好的ListIHTTupleTwo数组自动拼装出create SQL,遍历每一个IHTTupleTwo,根据Model属性和值映射出ListIHTTupleTwo数据;
将Model转化为JSONObject:MapString,dynamic之后遍历所有的key作为一个IHTTupleTwo的item1,value类型作为IHTTupleTwo的item2。
6.根据权利要求3所述的一种在Flutter中实现DB ORM的方法,其特征在于,所述获取Model实例的key-value,通过JSONSerializable通用API获取到JSONObject(key-value(MapString,dynamic)或者是ListMapString,dynamic);
然后通过List遍历或者直接通过map.keys获取属性与值的类型数据,从而获取到真实的Model数据名称与值类型。
7.根据权利要求3所述的一种在Flutter中实现DB ORM的方法,其特征在于,步骤3)中所述的获取到所有key-value,并将这些数据实例化ListIHTTupleTwo:
通过value的runTimeType获取到值的运行时类型,通过map.keys获取属性名称;通过第一步声明的IHTTupleTwo类和上面key-value来实例化此对象;
遍历所有的key-value创建所有的IHTTupleTwo实例,构成一个ListIHTTupleTwo。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210169301.1/1.html,转载请声明来源钻瓜专利网。