[发明专利]一种在Flutter中实现DB ORM的方法在审
申请号: | 202210169301.1 | 申请日: | 2022-02-23 |
公开(公告)号: | CN114756566A | 公开(公告)日: | 2022-07-15 |
发明(设计)人: | 王柏华;单文政;马仕信;孙彪;张连超 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 陈婷婷 |
地址: | 271000 山东省*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 flutter 实现 db orm 方法 | ||
本发明公开了一种在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语句;完成Flutter下DB ORM的设计。本发明能够在Flutter开发环境下,有效提升操作数据库的效率。
技术领域
本发明涉及计算机应用技术领域,具体地说是一种在Flutter中实现DB ORM 的方法。
背景技术
在使用Flutter进行跨平台开发时,我们在对数据库进行操作时,由于 Flutter对dart基础语言反射的屏蔽,导致无法进行业内常用的DB ORM操作处理方式,导致操作效率低下、容易发生错误、易读性低,而且产生很多胶水代码。
发明内容
本发明的技术任务是针对以上不足之处,提供一种在Flutter中实现DB ORM 的方法,能够在Flutter开发环境下,有效提升操作数据库的效率。
本发明解决其技术问题所采用的技术方案是:
一种在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的设计。
本方法通过创建特定类,形成一个程序能力库,通过该能力库可以实现在Flutter端的DB ORM,从而提升移动端数据库表创建、查询、删除、更新等能力。
优选的,在Flutter中创建Tuple类,Tuple类包含2-6个属性,属性的类型为dynamic;
第一个属性根据指定Model的属性名来定义;第二个属性为varchar或者 Text,数据类型的处理,根据Model的属性类型来定义,加入name类型为String;
然后将这些属性集中放到List中处理,再拼装SQL,从而实现Flutter DB ORM的model映射表创建操作。
当处理DB ORM创建表时,使用所述的特定类,第一个属性根据指定Model 的属性名来定义,第二个属性为varchar或者Text;将这些特定类属性集中放到List中处理,之后拼装SQL,从而实现Flutter DB ORM的model映射表创建操作。使用相同的方法可完成查询、删除、更新等操作。
优选的,所述Tuple类为IHTTupleTwo类,IHTTupleTwo类包含两个属性 item1,item2,分别用来存储Model转化出的KEY名称和VALUE类型。
进一步的,对于对于实现Flutter DB ORM的model映射表创建,
所述第一个属性item1根据指定Model的属性名来定义,需要根据 Model(name,age,id)来创建一个表时,第一个属性使用IHTTupleTwo(name,数据类型)表示;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210169301.1/2.html,转载请声明来源钻瓜专利网。