博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TypeScript封装统一操作Mysql Mongodb Mssql的底层类库demo
阅读量:5014 次
发布时间:2019-06-12

本文共 2296 字,大约阅读时间需要 7 分钟。

/*功能:定义一个操作数据库的库  支持 Mysql Mssql  MongoDb要求1:Mysql MsSql  MongoDb功能一样  都有 add  update  delete  get方法    注意:约束统一的规范、以及代码重用解决方案:需要约束规范所以要定义接口 ,需要代码重用所以用到泛型    1、接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范    2、泛型 通俗理解:泛型就是解决 类 接口 方法的复用性、*/interface DBI
{ add(info:T):boolean; update(info:T,id:number):boolean; delete(id:number):boolean; get(id:number):any[];}//定义一个操作mysql数据库的类 注意:要实现泛型接口 这个类也应该是一个泛型类class MysqlDb
implements DBI
{ 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:'xxxx', desc:'xxxxxxxxxx' }, { title:'xxxx', desc:'xxxxxxxxxx' } ] return list; } }//定义一个操作mssql数据库的类 class MsSqlDb
implements DBI
{ 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:'xxxx', desc:'xxxxxxxxxx' }, { title:'xxxx', desc:'xxxxxxxxxx' } ] return list; }}//操作用户表 定义一个User类和数据表做映射/*class User{ username:string | undefined; password:string | undefined;}var u=new User();u.username='张三111';u.password='123456';var oMysql=new MysqlDb
(); //类作为参数来约束数据传入的类型 oMysql.add(u);*/class User{ username:string | undefined; password:string | undefined;}var u=new User();u.username='张三2222';u.password='123456';var oMssql=new MsSqlDb
();oMssql.add(u);//获取User表 ID=4的数据var data=oMssql.get(4);console.log(data);

 

转载于:https://www.cnblogs.com/loaderman/p/11040594.html

你可能感兴趣的文章
css文本样式text、字体样式font
查看>>
python判断图片是否损坏
查看>>
MySQL服务启动:某些服务在未由其他服务或程序使用时将自动停止
查看>>
软件工程第四周作业 - 单元测试
查看>>
KNN与SVM对比&SVM与逻辑回归的对比
查看>>
php 现在拓展地址
查看>>
【Java并发编程】之十六:深入Java内存模型——happen-before规则及其对DCL的分析(含代码)...
查看>>
团队个人冲刺第三天
查看>>
unit
查看>>
2017-10-17 NOIP模拟赛2
查看>>
How to install ia32-libs in Ubuntu 14.04 LTS (Trusty Tahr)
查看>>
ACM/ICPC 之 模拟 (HNUOJ 13391-换瓶模拟)
查看>>
JavaWeb学习——JSP基础
查看>>
Eclipse tomcat server 无法添加项目
查看>>
黑寡妇黄飞鸿
查看>>
leetcode 217 Contains Duplicate 数组中是否有重复的数字
查看>>
The Ctrl & CapsLock `problem'
查看>>
MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作
查看>>
linux故障判断
查看>>
Leetcode 23. Merge k Sorted Lists(python)
查看>>