Flutter数据库管理插件sqflite_helper_new的使用
Flutter数据库管理插件sqflite_helper_new的使用
该包将使使用sqflite变得更加有趣和简单,而无需从零开始构建。
特性
它将帮助你通过调用创建数据库、更新、删除、插入和获取数据等方法来快速实现sqflite的基本功能。
开始使用
依赖项
在pubspec.yaml
文件中添加以下依赖:
dependencies:
sqflite_helper_new: ^1.0.0
或者在终端中运行以下命令:
flutter pub add sqflite_helper_new
使用方法
首先创建一个变量:
final sqfliteHelper = SqflitehelperNew();
在initialestate
中添加创建数据库的方法:
创建数据库示例
sqfliteHelper.createDatabase(
version: 1,
databasefilename: 'todo.db',
tablename: 'tasks',
columns: [
{
'name': 'id',
'type': 'INTEGER PRIMARY KEY AUTOINCREMENT',
},
{
'name': 'title',
'type': 'TEXT',
},
{
'name': 'description',
'type': 'TEXT',
},
{
'name': 'status',
'type': 'TEXT',
},
],
);
插入数据示例
sqfliteHelper.insert(
tablename: 'tasks',
data: {
'title': titlecontroller.text,
'description': descriptioncontroller.text,
'status': 'new',
},
);
获取数据示例
-
选择特定列
sqfliteHelper.getdatafromdatabase( tablename: 'tasks', columnname: 'title', );
-
不选择特定列
sqfliteHelper.getdatafromdatabase( tablename: 'tasks', );
更新数据示例
sqfliteHelper.updateRecord(
tablename: 'tasks',
newData: {"title": "ert"},
whereColumn: "title",
oldValue: "xx",
);
删除数据示例
sqfliteHelper.deleteFromDatabase(
tablename: 'tasks',
whereColumn: 'title',
value: 'ert',
);
更多关于Flutter数据库管理插件sqflite_helper_new的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter数据库管理插件sqflite_helper_new的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
sqflite_helper_new
是一个基于 sqflite
的 Flutter 插件,它简化了数据库操作,提供了更高级的抽象和便利的 API。这个插件可以帮助你更轻松地管理 SQLite 数据库,执行 CRUD 操作,以及处理数据库迁移等任务。
以下是如何使用 sqflite_helper_new
插件的基本步骤:
1. 添加依赖
首先,在 pubspec.yaml
文件中添加 sqflite_helper_new
依赖:
dependencies:
flutter:
sdk: flutter
sqflite_helper_new: ^1.0.0 # 检查最新版本
然后运行 flutter pub get
来安装依赖。
2. 初始化数据库
在使用数据库之前,你需要初始化它。通常,你会在应用的启动阶段进行初始化。
import 'package:sqflite_helper_new/sqflite_helper_new.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化数据库
await DatabaseHelper.initialize(
databaseName: 'my_database.db',
version: 1,
onCreate: (db, version) async {
// 创建表格
await db.execute('''
CREATE TABLE User(
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
age INTEGER
)
''');
},
onUpgrade: (db, oldVersion, newVersion) async {
// 处理数据库升级
},
);
runApp(MyApp());
}
3. 执行 CRUD 操作
sqflite_helper_new
提供了简洁的 API 来执行插入、查询、更新和删除操作。
插入数据
Future<void> insertUser() async {
final user = {'name': 'John Doe', 'age': 30};
await DatabaseHelper.insert('User', user);
}
查询数据
Future<List<Map<String, dynamic>>> getUsers() async {
return await DatabaseHelper.query('User');
}
更新数据
Future<void> updateUser(int id) async {
final updatedUser = {'name': 'Jane Doe', 'age': 25};
await DatabaseHelper.update('User', updatedUser, where: 'id = ?', whereArgs: [id]);
}
删除数据
Future<void> deleteUser(int id) async {
await DatabaseHelper.delete('User', where: 'id = ?', whereArgs: [id]);
}
4. 关闭数据库
当不再需要数据库时,记得关闭它。
Future<void> closeDatabase() async {
await DatabaseHelper.close();
}
5. 处理数据库迁移
如果你的应用需要升级数据库结构,可以在 onUpgrade
回调中处理。
onUpgrade: (db, oldVersion, newVersion) async {
if (oldVersion < 2) {
await db.execute('ALTER TABLE User ADD COLUMN email TEXT');
}
},
6. 使用事务
sqflite_helper_new
也支持事务操作。
Future<void> performTransaction() async {
await DatabaseHelper.transaction((txn) async {
await txn.insert('User', {'name': 'Alice', 'age': 28});
await txn.update('User', {'age': 29}, where: 'name = ?', whereArgs: ['Alice']);
});
}