我是第一次接触数据库。我有一个带有以下形式的database.dart数据文件夹。这对于一个表并具有一些CRUD函数(例如newNote或getNotes)很好,但是当您有多个表和多个CRUD函数时会发生什么呢?您是否应该将所有文件都转储到此database.dart文件中,使其变得混乱?有什么更好的组织替代方案?
class DBProvider {
DBProvider._();
static final DBProvider db = DBProvider._();
Database _database;
Future<Database> get database async {
if (_database != null) {
return _database;
}
_database = await initDB();
return _database;
}
initDB() async {
Directory documentsDir = await getApplicationDocumentsDirectory();
String path = join(documentsDir.path, 'app.db');
return await openDatabase(path, version: 1, onOpen: (db) async {
}, onCreate: (Database db, int version) async {
// Create the note table
await db.execute('''
CREATE TABLE note(
id INTEGER PRIMARY KEY,
contents TEXT DEFAULT ''
)
''');
});
}
newNote(Note note) async {
final db = await database;
var res = await db.insert('note', note.toJson());
return res;
}
}