49 lines
1.0 KiB
Dart
49 lines
1.0 KiB
Dart
abstract class DataBase {
|
|
static late DataBase _dataBase;
|
|
|
|
static DataBase getInstance() {
|
|
return _dataBase;
|
|
}
|
|
|
|
static void setInstance(DataBase database) {
|
|
_dataBase = database;
|
|
}
|
|
|
|
bool isConnected();
|
|
|
|
// 执行查询操作
|
|
Future<List<Map<String, dynamic>>> query(String table, {dynamic condition});
|
|
|
|
// 执行插入操作
|
|
Future<void> insert(String table, Map<String, dynamic> data);
|
|
|
|
// 执行更新操作
|
|
Future<void> update(
|
|
String table, Map<String, dynamic> data, dynamic condition,
|
|
{bool multiUpdate = false});
|
|
|
|
// 执行删除操作
|
|
Future<void> delete(String table, dynamic condition);
|
|
|
|
//查询数量
|
|
Future<int> count(String tbale, {dynamic condition});
|
|
}
|
|
|
|
enum DataBaseType { mongo, sqlite }
|
|
|
|
class DataBaseConfig {
|
|
DataBaseType type;
|
|
String host;
|
|
String userName;
|
|
String password;
|
|
String dataBase;
|
|
|
|
DataBaseConfig({
|
|
this.type = DataBaseType.mongo,
|
|
this.host = '',
|
|
this.userName = '',
|
|
this.password = '',
|
|
required this.dataBase,
|
|
});
|
|
}
|