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);