【技术实现步骤摘要】
一种在Flutter中实现DB ORM的方法
[0001]本专利技术涉及计算机应用
,具体地说是一种在Flutter中实现DB ORM 的方法。
技术介绍
[0002]在使用Flutter进行跨平台开发时,我们在对数据库进行操作时,由于 Flutter对dart基础语言反射的屏蔽,导致无法进行业内常用的DB ORM操作处理方式,导致操作效率低下、容易发生错误、易读性低,而且产生很多胶水代码。
技术实现思路
[0003]本专利技术的技术任务是针对以上不足之处,提供一种在Flutter中实现DB ORM 的方法,能够在Flutter开发环境下,有效提升操作数据库的效率。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种在Flutter中实现DB ORM的方法,通过Model实例的JOSNObject获取key
‑
values从而拼装相应的SQL,该方法的实现过程如下:
[0006]1)、首先声明Tuple类;
[0007]2)、通过JSONSerializable通用API获取Model实例的key
‑
value;
[0008]3)、遍历步骤2)获取到的所有key
‑
value,将这些数据实例化List<Tuple>;
[0009]4)、通过步骤3)获取到的List<Tuple>拼装create SQL语句;
...
【技术保护点】
【技术特征摘要】
1.一种在Flutter中实现DB ORM的方法,其特征在于,通过Model实例的JOSNObject获取key
‑
values从而拼装相应的SQL,该方法的实现过程如下:1)、首先声明Tuple类;2)、通过JSONSerializable通用API获取Model实例的key
‑
value;3)、遍历步骤2)获取到的所有key
‑
value,将这些数据实例化List<Tuple>;4)、通过步骤3)获取到的List<Tuple>拼装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的方法,其特征在于,根据存储好的List<IHTTupleTwo>数组自动拼装出create SQL,遍历每一个IHTTupleTwo,根据Model属性和值映射出List<IHTTu...
【专利技术属性】
技术研发人员:王柏华,单文政,马仕信,孙彪,张连超,
申请(专利权)人:浪潮软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。