这里是一个利用接口, 类, 泛型的一个数据库操作实例, 方便理解这三者的概念
TS封装数据库统一操作
// 使用接口限制数据库操作类
interface DBI<T> {
add(info: T): boolean;
update(info: T, id: number): boolean;
delete(id: number): boolean;
get(id: number): any[];
}
// MySQL数据库的类
class MysqlDb<T> implements DBI<T>{
// constructor: {
// // 此处构建数据库连接
// }
add(info: T): boolean { return true };
update(info: T, id: number): boolean { return true };
delete(id: number): boolean { return true };
get(id: number): any[] { return [] };
}
// MongoDb数据库的类
class MongoDb<T> implements DBI<T>{
// constructor: {
// // 此处构建数据库连接
// }
add(info: T): boolean { return true };
update(info: T, id: number): boolean { return true };
delete(id: number): boolean { return true };
get(id: number): any[] { return [] };
}
// 操作用户信息表
class User {
name: string | undefined;
password: string | undefined
}
var u = new User();
u.name = 'ZFLin'
u.password = 'password'
// mysql数据库添加数据
var mysqlDb = new MysqlDb<User>();
mysqlDb.add(u)
// mongoDb数据库添加数据
var mongoDb = new MongoDb<User>();
mongoDb.add(u)