用dart语言写一个模拟数据库管理系统,写出完整代码
时间: 2024-09-16 11:03:00 浏览: 55
在Dart中创建一个简单的模拟数据库管理系统,我们可以使用`List`来代表数据存储,并提供基本的增删改查操作。这里是一个基础的示例:
```dart
class Database {
List<Map<String, dynamic>> data = [];
// 插入数据
void insertData(Map<String, dynamic> newData) {
data.add(newData);
}
// 更新数据
bool updateData(String id, Map<String, dynamic> updatedData) {
int index = data.indexWhere((item) => item['id'] == id);
if (index != -1) {
data[index] = {...data[index], ...updatedData};
return true;
}
return false;
}
// 删除数据
bool deleteData(String id) {
data.removeWhere((item) => item['id'] == id);
return data.isEmpty ? false : true;
}
// 查询数据
Future<List<Map<String, dynamic>>> searchData(String query) async {
return data.where((item) => item.containsKey(query)).toList();
}
}
// 使用示例
void main() async {
var db = Database();
// 插入数据
await db.insertData({'id': 1, 'name': 'John', 'age': 30});
await db.insertData({'id': 2, 'name': 'Jane', 'age': 25});
// 更新数据
bool success = await db.updateData(1, {'age': 31}); // 成功
print('Updated: $success');
// 删除数据
success = await db.deleteData(2); // 成功
print('Deleted: $success');
// 查询数据
List<Map<String, dynamic>> results = await db.searchData('name');
print('Search results: ${results.map((e) => e.toString()).join(', ')}' );
}
```
在这个例子中,我们定义了一个`Database`类,其中的数据存储在一个动态映射列表中。注意这是一个非常基础的模拟,实际的数据库系统会更复杂,涉及到事务处理、索引、并发控制等。
阅读全文