TypeScript学习日记-数据库操作案例

149 阅读1分钟

这里是一个利用接口, 类, 泛型的一个数据库操作实例, 方便理解这三者的概念

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)