dart sqlite 嵌入式数据库 sqflite教程

项目基于flutter pub dart
dart sdk 需要2.10以上版本 建议使用linux开发

  • 依赖
dependencies:
  sqflite: ^1.1.5
  async: ^2.2.0
  • 工具类DBUtil

打开数据库的时候主要是用的openDatabase,在打开的时候有onCreate 、onOpen等回调函数可以供你使用

import 'package:sqflite/sqflite.dart';


///数据库
class DBUtil {
   static Future<Database>  connect(dbPath) async {
    await getDatabasesPath();
    await openDatabase(dbPath, version: 1,
        onUpgrade: (Database db, int oldVersion, int newVersion) async {
          //数据库升级,只回调一次
          print("数据库需要升级!旧版:$oldVersion,新版:$newVersion");
        },onOpen: (Database db) async {
          print('数据库连接创建');
          await db.rawQuery(_createTablesSql);
          return db;
        });
  }
  //创建数据库表(非必须)
  static String _createTablesSql='''
     create table if not exists `t_user` (
     `id` INTEGER primary key,
     `phone` TEXT  unique,
     `icon` TEXT,
     `nickname` TEXT ,
     `introduction` TEXT
     );
  ''';
   
}

  • 使用工具类
void main()async{
Database db=await DBUtil.connect('test.db');
String sql="your sql";
db.execute(sql);
//有rawQuery等函数自行点开看用自己需要的
}
posted @   HumorChen99  阅读(13)  评论(0编辑  收藏  举报  
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示