iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Flutter怎么用ORM框架管理数据库
  • 317
分享到

Flutter怎么用ORM框架管理数据库

2023-07-06 05:07:23 317人浏览 安东尼
摘要

本篇内容主要讲解“Flutter怎么用ORM框架管理数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flutter怎么用ORM框架管理数据库”吧!floor 数据库版本升级floor 框架同

本篇内容主要讲解“Flutter怎么用ORM框架管理数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flutter怎么用ORM框架管理数据库”吧!

floor 数据库版本升级

floor 框架同样提供了数据库版本号,当前使用的版本号使用注解配置。

@Database(version: 1, entities: [Memo])

当数据表结构发生变化时,就需要变更版本号指定新的版本。同时需要做如下处理:

  • 更新实体类:比如增加或减少字段,变更字段类型等等;

  • 编写迁移处理Migration类对象,Migration 类定义如下:

Migration(this.startVersion, this.endVersion, this.migrate)

其中第一个参数为起始版本号,第二个参数为要迁移到的版本号,最后是一个迁移处理函数,函数定义为:Future<void> Function(sqflite.Database database) migrate。我们要做的数据表变动就在这个函数里处理。

将编写好的Migration类对象添加到数据库初始化的 addMigrations 方法中,addMigrations方法接收一个Migration对象数组,因此是支持多种迁移的,比如从版本1迁移到版本3的迁移对象,从版本2迁移到版本3的迁移对象,从而满足多个版本同时迁移。

final database = await $FloorAppDatabase    .databaseBuilder('app_database.db')    .addMigrations([migration1to3, migration2to3])    .build();

实体类变更后,需要用代码生成命令重新生成数据库操作的相关代码。

看起来非常简单,我们来看实际的例子。

版本升级实例

我们给之前的备忘录增加一个分类(cateGory)字段,可以设置备忘录的分类,分类我们简单地固定为预设的几类。我们按照上面的步骤一步步编写代码即可。

变更版本:将数据库版本号改为2;

@Database(version: 2, entities: [Memo])

在备忘录类增加分类字段,由于已有数据的分类字段是 null 的,因此需要设置这个字段可为空Nullable;设置为非空也可以,只是需要在迁移时给旧版本已有数据相应字段设置非空初始值。

@entityclass Memo {  @PrimaryKey(autoGenerate: true)  final int? id;  String title;  String content;  @ColumnInfo(name: 'created_time')  DateTime createdTime;  @ColumnInfo(name: 'modified_time')  DateTime modifiedTime;  String? category;  List<String> tags;  Memo({    this.id,    required this.title,    required this.content,    required this.createdTime,    required this.modifiedTime,    this.category = '',    required this.tags,  });}

编写数据库迁移处理对象,并加入到版本迁移中。

final migration1to2 = Migration(1, 2, (database) async {  await database.execute('ALTER TABLE Memo ADD COLUMN category TEXT');  // 可选,设置旧版本字段初始值  await database.update('Memo',{'category': ''});});Future<void> main() async {  WidgetsFlutterBinding.ensureInitialized();  final database = await $FloorMemoDatabase      .databaseBuilder('app_database.db')      .addMigrations([migration1to2]).build();  final dao = database.memoDao;  getIt.reGISterSingleton<MemoDao>(dao, signalsReady: true);  runApp(const MyApp());}

运行下面的命令生成代码。

flutter packages pub run build_runner build

当然,我们也需要对 UI 相关的代码进行变更,变更后的 UI 界面如下图所示。

Flutter怎么用ORM框架管理数据库

到此,相信大家对“Flutter怎么用ORM框架管理数据库”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: Flutter怎么用ORM框架管理数据库

本文链接: https://www.lsjlt.com/news/357786.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Flutter怎么用ORM框架管理数据库
    本篇内容主要讲解“Flutter怎么用ORM框架管理数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flutter怎么用ORM框架管理数据库”吧!floor 数据库版本升级floor 框架同...
    99+
    2023-07-06
  • Flutter利用ORM框架管理数据库详解
    目录前言floor 数据库版本升级版本升级实例总结前言 我们前面一篇介绍了使用 floor 这个 ORM 框架处理 Flutter 本地的 SQLite 数据库。使用 ORM 框架最...
    99+
    2023-05-16
    Flutter ORM框架管理数据库 Flutter管理数据库 Flutter ORM框架
  • Flutter怎么用ORM框架简化本地数据库管理
    这篇“Flutter怎么用ORM框架简化本地数据库管理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Flutter怎么用OR...
    99+
    2023-07-05
  • Flutter利用ORM框架简化本地数据库管理详解
    目录前言floor 简介ORM 映射转换器代码改造总结前言 前面两篇我们介绍了使用 sqflite 管理 Flutter 本地 SQLite 数据库。使用 sqflite 相对来说还...
    99+
    2023-05-15
    Flutter ORM框架本地数据库管理 Flutter本地数据库管理 Flutter ORM框架
  • PHP中怎么使用ORM框架连接数据库
    这篇文章主要介绍“PHP中怎么使用ORM框架连接数据库”,在日常操作中,相信很多人在PHP中怎么使用ORM框架连接数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中怎么使用ORM框架连接数据库”的疑...
    99+
    2023-07-06
  • PHP函数的数据库ORM框架
    PHP作为一种优秀的编程语言,应用广泛,其中,数据库ORM框架是一种非常重要的技术。在PHP中,ORM框架可以让开发人员把与数据库的操作封装成函数的形式,从而减轻开发人员的负担,提高开发效率。MySQL是PHP中常见的数据库,而在MySQL...
    99+
    2023-05-19
    数据库 ORM框架 PHP函数
  • PHP 数据库操作与ORM 框架
    php中操作数据库的方法有两种:低级pdo api和简化操作的orm框架。pdo允许直接与数据库交互,通过连接、查询和获取结果的步骤实现。orm框架(如doctrine)将数据库表映射为...
    99+
    2024-04-30
    php orm mysql
  • PHP使用ORM框架连接数据库的方法
    PHP使用ORM框架连接数据库的方法ORM(Object-Relational Mapping)框架是一种将对象模型和关系型数据库模型进行映射的技术。它可以让开发者使用对象的方式来操作数据库,从而避免了手写SQL语句的繁琐和容易出错的问题。...
    99+
    2023-05-15
    PHP 数据库连接 ORM框架
  • Python ORM数据库框架Sqlalchemy的使用教程详解
    目录概念和数据类型安装连接创建数据库表类(模型)生成数据库表会话增删改查增查改删执行裸sqlwith关闭会话sql建造者模式封装的工具数据库配置文件database.properti...
    99+
    2024-04-02
  • ORM模型框架操作mysql数据库的方法
    【什么是ORM】 ORM 全称是(Object Relational Mapping)表示对象关系映射; 通俗理解可以理解为编程语言的虚拟数据库; 【理解ORM】 用户地址信息数据库...
    99+
    2024-04-02
  • Python之ORM框架怎么使用
    本文小编为大家详细介绍“Python之ORM框架怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python之ORM框架怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、Python语言中有哪些常...
    99+
    2023-07-02
  • Winform框架中怎么管理字典数据
    Winform框架中怎么管理字典数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在所有开发过的项目过程,很多如权限管理、字典数据管理模块,都是非常常用的模块,本文主要想介...
    99+
    2023-06-17
  • Python ORM框架中的SQLAlchemy怎么用
    小编给大家分享一下Python ORM框架中的SQLAlchemy怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、SQLAlchemy 介绍1.1 ORM 的概念ORM全称Object Relationa...
    99+
    2023-06-29
  • 使用Django框架中ORM系统实现对数据库数据增删改查
    目录1.数据的增删改查----------增加数据在视图函数中导入User模型类,然后使用下面的方法添加数据:2.数据的增删改查----------查找数据这时在定义模型类时定义的_...
    99+
    2024-04-02
  • 使用c# 怎么编写一个ORM框架
    今天就跟大家聊聊有关使用c# 怎么编写一个ORM框架,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. ORMORM全称 Object Relational Mapping,翻译过来...
    99+
    2023-06-14
  • 怎么为ABP框架配置数据库
    本篇内容主要讲解“怎么为ABP框架配置数据库”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么为ABP框架配置数据库”吧!在 AbpBase.Database 中,通过 Nu...
    99+
    2023-06-29
  • Flutter中的数据库怎么使用
    这篇文章主要讲解了“Flutter中的数据库怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flutter中的数据库怎么使用”吧!在Flutter开发过程中,我门有时候需要对一些数据进...
    99+
    2023-06-30
  • Android数据缓存框架内置ORM功能使用教程
    目录使用教程如下配置初始化注解详解CRUD操作其他注意事项使用教程如下 配置初始化 Orm.init(this, OrmConfig.Builder() ...
    99+
    2024-04-02
  • Spring框架JdbcTemplate数据库事务管理完全注解方式
    目录Spring JdbcTemplate事务注解配置类方式配置完全注解方式一、创建配置类二、测试注解方式的事务管理Spring JdbcTemplate事务注解 配置类方式配置 在...
    99+
    2024-04-02
  • Django框架ORM操作数据库不生效问题示例解决方法
    目录问题描述定位过程 首先,我们怀疑是SQL语句拼装错误(比如ID不对),导致了删除不生效解决方案总结本文详细描述使用Django 的ORM框架操作PostgreSQL数据库删除不生...
    99+
    2023-01-07
    django orm操作数据库不生效 django orm框架操作
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作