怎么在nodejs中使用Typeorm连接Oracle数据库

本篇文章给大家分享的是有关怎么在nodejs中使用Typeorm连接Oracle数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

·通过npm安装下列包:

  • typeorm //typeorm连接数据库

  • @types/node //类型系统

  • typescript //ts基础

  • oracledb //oracle基础

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

·根路径配置:

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

  • tsconfig.json //ts编译设置

{
"compilerOptions":{
"module":"commonjs",
"noImplicitAny":true,
"removeComments":true,
"preserveConstEnums":true,
"sourceMap":true,
"outDir":"./dist",
"emitDecoratorMetadata":true,  //typeorm特需
"experimentalDecorators":true  //typeorm特需
},
"include":[
"src/**/*"
],
"exclude":[
"node_modules",
"**/*.spec.ts"
]
}

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路径,此项与项目勿关,只为了方便调试

{
"name":"CurrentTSFile",
"type":"node",
"request":"launch",
"program":"${workspaceRoot}\\node_modules\\ts-node\\dist\\bin.js",
"args":[
"${relativeFile}"
],
"cwd":"${workspaceRoot}",
"protocol":"inspector"
}

·编写主体:

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

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

createConnection().then(asyncconnection=>{  //连接参数为空时自动按照路径下ormconfig.json信息连接
/*leta=awaitconnection.query(
`SELECT*FROMxxx`
);*///直接使用原生sql语句查询

leta=awaitconnection.manager.find(xxx)  //使用连接器查询connection.manager
console.log("result:",a);
}).catch(error=>console.log(error));

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

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

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

·与sequelize的差异

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

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

怎么在nodejs中使用Typeorm连接Oracle数据库

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

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

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

以上就是怎么在nodejs中使用Typeorm连接Oracle数据库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。

发布于 2021-03-24 01:21:26
收藏
分享
海报
0 条评论
166
上一篇:怎么在android studio中使用Spinner实现一个下拉菜单 下一篇:使用AccessibilityService怎么实现一个遍历点赞功能
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码