TypeScript--泛型类

我们想用类来操作数据库,往里面添加数据。

这里先不使用泛型类,把类作为参数

/*
定义一个User的类这个类的作用就是映射数据库字段  
然后定义一个 MysqlDb的类这个类用于操作数据库   
然后把User类作为参数传入到MysqlDb中
*/
class User {
    
    
  username: string | undefined;
  pasword: string | undefined;
}

class MysqlDb {
    
    
  add(user: User): boolean {
    
    
    console.log(user);
    return true;
  }
}
var u = new User();
u.username = "张三";
u.pasword = "123456";
var Db = new MysqlDb();
Db.add(u);

这里使用泛型类

示例01:

//定义操作数据库的泛型类
class MysqlDb<T> {
    
    
  add(info: T): boolean {
    
    
    console.log(info);
    return true;
  }
  updated(info: T, id: number): boolean {
    
    
    console.log(info);

    console.log(id);

    return true;
  }
}
//想给User表增加数据
// 1、定义一个User类 和数据库进行映射

class User {
    
    
  username: string | undefined;
  pasword: string | undefined;
}
var u = new User();
u.username = "张三";
u.pasword = "123456";
var Db = new MysqlDb<User>();
Db.add(u);

示例02:

//定义操作数据库的泛型类
class MysqlDb<T> {
    
    
  add(info: T): boolean {
    
    
    console.log(info);
    return true;
  }
  updated(info: T, id: number): boolean {
    
    
    console.log(info);
    console.log(id);
    return true;
  }
}
//2、相关ArticleCate增加数据  定义一个ArticleCate类 和数据库进行映射
class ArticleCate {
    
    
  title: string | undefined;
  desc: string | undefined;
  status: number | undefined;
  constructor(params: {
    
    
    title: string | undefined;
    desc: string | undefined;
    status?: number | undefined;
  }) {
    
    
    this.title = params.title;
    this.desc = params.desc;
    this.status = params.status;
  }
}
//修改数据
var a = new ArticleCate({
    
    
  title: "分类111",
  desc: "2222",
});

a.status = 0;
var Db = new MysqlDb<ArticleCate>();
Db.updated(a, 12);

猜你喜欢

转载自blog.csdn.net/I_r_o_n_M_a_n/article/details/114766509