本项目为基于typescript
的一个ORM规范。对Model
做一个约定,提供DB访问ORM接口。
npm install @lct/orm
Model我们认为是跟表一一对应的类。
import { BaseModel } from "@lct/orm";
@BaseModel.Table('t_user') //关联表t_user,
//@BaseModel.Table(tablename, ['id'])//可以从这里指定多个主健,也可以在属性中去指定
class MyModel extends BaseModel {
@BaseModel.TableField('Fid') //映射属性跟字段, 这里可以不指定这句,默认为关联上Fid
@BaseModel.TablePrimaryKey() //指定当前属性为唯一健
id: number = 0;
@BaseModel.TableField('Fname')
name: string = "";
nickName: string = "";
createTime: string = "";
}
import * as mysql from "mysql";
import { BaseModel, DBHelper } from "@lct/orm";
//本地测试数据库
//先准备好测试DB
const connection = mysql.createConnection({
host : 'localhost',
user : 'jiamao',
password : '123456',
database : 'test',
charset : 'utf8'
});
//实例化DB操作
const db = new DBHelper(connection);
insert();
//新增一个user
async insert() {
connection.connect();
let m = new MyModel();
m.name = "my name";
m.nickName = "name";
let ret = await db.insert(m);
console.log(ret);
connection.end();
}
测试用例是基于mocha的,依赖mocha
和assert
。
表结构参见test/t_user.sql
,更新test/index.ts
中的数据库连接信息。
装上依赖后直接执行以下命令即可。
npm run test