中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在nodejs中使用Typeorm連接Oracle數據庫

發布時間:2021-03-23 14:55:44 來源:億速云 閱讀:614 作者:Leah 欄目:web開發

本篇文章給大家分享的是有關怎么在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編寫的、類型系統非常完整的數據庫關系映射,放張數據類型截圖:

怎么在nodejs中使用Typeorm連接Oracle數據庫

 這還是js嗎?當然,如此完整的類型系統得益于typescript,我們也可以在構建時酌情使用類型聲明,因為它不是必須的(本質仍是js)

 很多類型都可以使用js原生類型+長度代替,是否使用專用類型聲明取決于實際需求

 根據數據庫自動生成/更新映射文件腳本會相對復雜

以上就是怎么在nodejs中使用Typeorm連接Oracle數據庫,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

兴海县| 桃源县| 宁陵县| 绍兴市| 炎陵县| 博罗县| 安义县| 澎湖县| 城口县| 于都县| 雷山县| 长丰县| 广水市| 聂拉木县| 柘城县| 左贡县| 玛多县| 朝阳县| 章丘市| 惠州市| 遂平县| 民权县| 衡阳市| 岳阳县| 吴川市| 苍山县| 安阳市| 临邑县| 四子王旗| 洮南市| 宜春市| 和林格尔县| 工布江达县| 武冈市| 读书| 潮安县| 永年县| 灵台县| 怀宁县| 毕节市| 伊宁县|