0
点赞
收藏
分享

微信扫一扫

TypeScript学习第八篇 - 使用泛型类模块化封装DB库


1. 封装DB数据库;

// 定义数据库的泛型,便于操作多个数据库
interface DBI<T>{
    add(info:T):boolean;
    update(info:T,id:number):boolean;
    delete(id:number):boolean;
    get(id:number):any[];
}

// 定义一个操作MYSQL数据库的类      
// 注意:要实现泛型接口 这个类也应该是一个泛型类
export class MySqlDB<T> implements DBI<T>{
    constructor(){
        console.log('数据库建立连接');
    }
    // 添加方法
    add(info: T): boolean {
        // 向数据库写入数据
        console.log(info);
        return true;
    }   
    // 更新方法 
    update(info: T, id: number): boolean {
        throw new Error("Method not implemented.");
    }
    // 删除方法
    delete(id: number): boolean {
        throw new Error("Method not implemented.");
    }
    // 获取方法
    get(id: number): any[] {
        // 模拟数据
        var list=[
            {
                title:'今天吃啥',
                desc:'青椒炒肉'
            },
            {
                title:'明天吃啥',
                desc:'凉拌黄瓜'
            }
        ]
        return list;
    }
}

2. 引入封装好的数据库,建立与数据库字段映射的模型;

import { MySqlDB } from './MySqlDB.js';

// 定义数据库的映射
class ArticleClass {
    title: string | undefined;
    desc: string | undefined;
}

var ArticleModel = new MySqlDB<ArticleClass>();
export {
    ArticleClass,
    ArticleModel
}

3. 引入建立的数据库模型,操作数据;

import {ArticleClass,ArticleModel} from './Model/Article.js';

// 增加数据
var article =new ArticleClass();
article.title='今天吃什么';
article.desc='随便炒个菜';

// 添加文章
ArticleModel.add(article);

// 获取文章
var result =ArticleModel.get(1);
console.log(result);

举报

相关推荐

0 条评论