在NodeJS下实现简单的ORM框架

本文介绍了如何在NodeJS环境下,使用TypeScript和mysql库,从零开始实现一个轻量级的ORM框架。通过简单的步骤,包括安装typescript、创建nodejs项目、配置tsconfig.json、建立数据库连接和基本CRUD操作,作者展示了如何实现ORM类,并给出了User实体的使用示例。
摘要由CSDN通过智能技术生成

前言

      ORM即Object Relational Mapping,中文翻译过来就是对象关系映射,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。在nodejs中也有比较好用的ORM框架,比如TypeORM,Sequelize等等,但基本上都是重量级的,如果自己先实现一个简单的对数据库的增删改查,使用它们就感觉有点大材小用了。因此本文用简短的一百多行代码实现一个简单的ORM框架,使用TypeScript以及mysql包。

开始之前

安装typescript

npm install -g typescript

新建nodejs项目

npm init

安装mysql包

npm install --save mysql

在项目目录下,新建tsconfig.json文件,添加文件内容如下

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2018",
    "sourceMap": true,
    "outDir": "./dist",
    "pretty": true,
    "baseUrl": "./lib",
    "moduleResolution": "node"
  },
  "include": [
    "lib/**/*.ts",
    "lib/*.ts"
  ],
  "exclude": [
    "node_modules"
  ]
}

在项目目录新建lib文件夹来存放.ts文件

注:在tsconfig.json目录下使用tsc命令能将ts文件打包成js文件,然后再使用node命令来运行js文件,或者使用node-ts来运行ts文件,需要安装node-ts包

npm install -g node-ts

ORM的简单实现

mysql.ts文件,主要实现连接mysql,以及一下基本的增删改查函数

import * as MySql from "mysql";
// 使用连接池
const mysqlPool = MySql.createPool({
    host: "localhost",
    user: "root",
    password: "",
    port: 3306,
    database: "blogapp",
    connectionLimit: 10000
});

const timeout = 4000;

export interface ISqlResults {
    results: Array<any>;
    fields: Object;
}

interface IQueryObject {
    [name: string]: string | number
}

// 实现增删改查基本方法

export const sqlQuery = (sql: MySql.QueryOptions) => new Promise((resolve, reject) =>
    mysqlPool.query(sql,
        (err, results, fields) => err ? reject(err) : resolve(<ISqlResults>{ results, fields })
    )
);

export const and = (d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sundial dreams

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值