typeorm 查询_nodejs环境使用Typeorm连接查询Oracle

本文介绍了如何在Node.js环境中利用TypeORM连接和查询Oracle数据库。首先,通过npm安装typeorm、@types/node、typescript、oracledb和ts-node等依赖。接着,配置package.json、tsconfig.json和ormconfig.json文件以设置项目和数据库连接参数。在项目中创建并编辑index.ts,导入并使用TypeORM进行数据库连接和查询操作。同时,对比了TypeORM与Sequelize的主要差异,指出TypeORM因提供强大的类型系统而受到青睐。
摘要由CSDN通过智能技术生成

首先是typeorm的官方地址,

国内有人翻了中文版,不保证时效性

·通过npm安装下列包:

typeorm //typeorm连接数据库

@types/node //类型系统

typescript //ts基础

oracledb //oracle基础

ts-node //nodejs编译运行ts的工具;

·根路径配置:

package.json //项目依赖、脚本、描述等

tsconfig.json //ts编译设置

1 {2 "compilerOptions": {3 "module": "commonjs",4 "noImplicitAny": true,5 "removeComments": true,6 "preserveConstEnums": true,7 "sourceMap": true,8 "outDir": "./dist",9 "emitDecoratorMetadata": true,  //typeorm特需

10 "experimentalDecorators": true  //typeorm特需

11 },12 "include": [13 "src/**/*"

14 ],15 "exclude": [16 "node_modules",17 "**/*.spec.ts"

18 ]19 }

ormconfig.json //数据库连接参数

{"type": "oracle","host": "10.16.2.41","port": 1521,"username": "admin","password": "admin","sid": "ORCL","synchronize": true,"logging": true,"entities": ["src/entity/**/*.ts"],"migrations": ["src/migration/**/*.ts"],"subscribers": ["src/subscriber/**/*.ts"]

}

.vscode配置:launch.json ,主要配置vscode在debug时由ts编译所得的js路径,此项与项目勿关,只为了方便调试

1 {2 "name": "Current TS File",3 "type": "node",4 "request": "launch",5 "program": "${workspaceRoot}\\node_modules\\ts-node\\dist\\bin.js",6 "args": [7 "${relativeFile}"

8 ],9 "cwd": "${workspaceRoot}",10 "protocol": "inspector"

11 }

·编写主体:

根路径下创建/编辑index.ts(名字可自定义),配置package中start脚本命令为ts-node index.ts,

1 import "reflect-metadata";2 import {createConnection} from "typeorm";3 import {xxx} from "./src/entity/xxx";  //引入数据表结构映射文件

4

5 createConnection().then(async connection => {  //连接参数为空时自动按照路径下ormconfig.json信息连接

6 /*let a = await connection.query(7 `SELECT * FROM xxx`8 );*///直接使用原生sql语句查询

9

10 let a = await connection.manager.find(xxx)  //使用连接器查询 connection.manager

11 console.log("result: ", a);12 }).catch(error => console.log(error));

在src/entity/下构建数据表实体结构xxx.js,格式参考官网

在cmd根路径运行npm start,或使用vscode调试

至此,我们已经成功使用typeorm连接到了Oracle数据库,若要构成完整的后端只需添加中间件等等

·与sequelize的差异

从Sequelize转移到typeorm,是因为sequelize官方不支持连接Oracle

typeorm像名字中描述的那样,是个使用typescript编写的、类型系统非常完整的数据库关系映射,放张数据类型截图:

这还是js吗?当然,如此完整的类型系统得益于typescript,我们也可以在构建时酌情使用类型声明,因为它不是必须的(本质仍是js)

很多类型都可以使用js原生类型+长度代替,是否使用专用类型声明取决于实际需求

根据数据库自动生成/更新映射文件脚本会相对复杂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值