怎么在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编写的、类型系统非常完整的数据库关系映射,放张数据类型截图:
这还是js吗?当然,如此完整的类型系统得益于typescript,我们也可以在构建时酌情使用类型声明,因为它不是必须的(本质仍是js)
很多类型都可以使用js原生类型+长度代替,是否使用专用类型声明取决于实际需求
根据数据库自动生成/更新映射文件脚本会相对复杂
以上就是怎么在nodejs中使用Typeorm连接Oracle数据库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注恰卡编程网行业资讯频道。
推荐阅读
-
NodeJS怎么实现单点登录
NodeJS怎么实现单点登录这篇文章主要讲解了“NodeJS怎么实...
-
怎么用Vue+NodeJS实现大文件上传
怎么用Vue+NodeJS实现大文件上传本文小编为大家详细介绍“怎...
-
node中的buffer有什么用
node中的buffer有什么用本文小编为大家详细介绍“node中...
-
node中multer的概念是什么
node中multer的概念是什么这篇文章主要介绍“node中mu...
-
nodejs怎么读取文件夹目录的内容
nodejs怎么读取文件夹目录的内容小编给大家分享一下nodejs...
-
nodejs如何结合socket.io实现websocket通信功能
这篇文章主要介绍nodejs如何结合socket.io实现websocket通信功能,文中介绍的非常详细,具有一定的参考价值,感兴...
-
nodejs如何结合Socket.IO实现的即时通讯功能
这篇文章主要为大家展示了“nodejs如何结合Socket.IO实现的即时通讯功能”,内容简而易懂,条理清晰,希望能够帮助大家解决...
-
nodejs如何实现TCP服务器端和客户端聊天功能
这篇文章主要介绍了nodejs如何实现TCP服务器端和客户端聊天功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇...
-
Nodejs能够应用于什么场景
这篇文章给大家分享的是有关Nodejs能够应用于什么场景的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。...
-
Nodejs +Websocket如何实现指定发送及群聊
这篇文章主要介绍了Nodejs+Websocket如何实现指定发送及群聊,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读...