1.0.37 • Published 5 years ago

@lct/orm v1.0.37

Weekly downloads
-
License
MIT
Repository
github
Last release
5 years ago

ORM

Latest NPM release

介绍

本项目为基于typescript的一个ORM规范。对Model做一个约定,提供DB访问ORM接口。

接口:https://github.com/jiamao/orm/blob/master/api.md

快速上手

安装

npm install @lct/orm

定义Model

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 = "";
}

使用ORM操作DB

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的,依赖mochaassert 表结构参见test/t_user.sql,更新test/index.ts中的数据库连接信息。 装上依赖后直接执行以下命令即可。

npm run test
1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago