您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關怎么在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": "Current TS File", "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(async connection => { //連接參數為空時自動按照路徑下ormconfig.json信息連接 /*let a = await connection.query( `SELECT * FROM xxx` ); *///直接使用原生sql語句查詢 let a = await connection.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數據庫,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。