欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs環(huán)境使用Typeorm連接查詢Oracle數(shù)據(jù)

 更新時(shí)間:2019年12月05日 09:40:10   作者:KKKA  
這篇文章主要介紹了nodejs環(huán)境使用Typeorm連接查詢Oracle數(shù)據(jù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

首先是typeorm的官方地址,

國(guó)內(nèi)有人翻了中文版,不保證時(shí)效性

·通過(guò)npm安裝下列包:

  • typeorm //typeorm連接數(shù)據(jù)庫(kù)
  • @types/node //類型系統(tǒng)
  • typescript //ts基礎(chǔ)
  • oracledb //oracle基礎(chǔ)
  • ts-node //nodejs編譯運(yùn)行ts的工具;

·根路徑配置:

  • package.json //項(xiàng)目依賴、腳本、描述等
  • tsconfig.json //ts編譯設(shè)置
{
 "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 //數(shù)據(jù)庫(kù)連接參數(shù)

{
 "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時(shí)由ts編譯所得的js路徑,此項(xiàng)與項(xiàng)目勿關(guān),只為了方便調(diào)試

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

·編寫(xiě)主體:

根路徑下創(chuàng)建/編輯index.ts(名字可自定義),配置package中start腳本命令為ts-node index.ts,

import "reflect-metadata";
import {createConnection} from "typeorm";
import {xxx} from "./src/entity/xxx";  //引入數(shù)據(jù)表結(jié)構(gòu)映射文件

createConnection().then(async connection => {  //連接參數(shù)為空時(shí)自動(dòng)按照路徑下ormconfig.json信息連接
 /*let a = await connection.query(
  `SELECT * FROM xxx`
 ); *///直接使用原生sql語(yǔ)句查詢
 
 let a = await connection.manager.find(xxx)  //使用連接器查詢 connection.manager
 console.log("result: ", a);
}).catch(error => console.log(error));

 在src/entity/下構(gòu)建數(shù)據(jù)表實(shí)體結(jié)構(gòu)xxx.js,格式參考官網(wǎng)

 在cmd根路徑運(yùn)行npm start,或使用vscode調(diào)試

 至此,我們已經(jīng)成功使用typeorm連接到了Oracle數(shù)據(jù)庫(kù),若要構(gòu)成完整的后端只需添加中間件等等

·與sequelize的差異

從Sequelize轉(zhuǎn)移到typeorm,是因?yàn)閟equelize官方不支持連接Oracle

typeorm像名字中描述的那樣,是個(gè)使用typescript編寫(xiě)的、類型系統(tǒng)非常完整的數(shù)據(jù)庫(kù)關(guān)系映射,放張數(shù)據(jù)類型截圖:

 這還是js嗎?當(dāng)然,如此完整的類型系統(tǒng)得益于typescript,我們也可以在構(gòu)建時(shí)酌情使用類型聲明,因?yàn)樗皇潜仨毜模ū举|(zhì)仍是js)

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

 根據(jù)數(shù)據(jù)庫(kù)自動(dòng)生成/更新映射文件腳本會(huì)相對(duì)復(fù)雜

 typescript也是初次接觸,文章只是通過(guò)短短幾星期的摸索得來(lái),內(nèi)容難免有誤,若有錯(cuò)誤還請(qǐng)點(diǎn)撥,謝謝

總結(jié)

以上所述是小編給大家介紹的nodejs環(huán)境使用Typeorm連接查詢Oracle數(shù)據(jù),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • NodeJS設(shè)計(jì)模式總結(jié)【單例模式,適配器模式,裝飾模式,觀察者模式】

    NodeJS設(shè)計(jì)模式總結(jié)【單例模式,適配器模式,裝飾模式,觀察者模式】

    這篇文章主要介紹了NodeJS設(shè)計(jì)模式,結(jié)合實(shí)例形式總結(jié)分析了nodejs單例模式,適配器模式,裝飾模式,觀察者模式的概念、原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-09-09
  • node.js缺少mysql模塊運(yùn)行報(bào)錯(cuò)的解決方法

    node.js缺少mysql模塊運(yùn)行報(bào)錯(cuò)的解決方法

    前幾天在工作中需要利用node.js連接數(shù)據(jù)庫(kù),通過(guò)網(wǎng)上的教程連接后運(yùn)行卻報(bào)錯(cuò)了,然后趕緊查找解決的方法,通過(guò)測(cè)試與朋友的提點(diǎn),終于解決了這個(gè)問(wèn)題,現(xiàn)在將解決的方法分享給大家,有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。
    2016-11-11
  • NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù)

    NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù)

    這篇文章主要為大家介紹了NodeJS落地WebSocket實(shí)踐前端架構(gòu)師破局技術(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解

    nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解

    這篇文章主要為大家介紹了nodejs使用PassThrough流進(jìn)行數(shù)據(jù)傳遞合并示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • Node.js獲取本機(jī)Mac地址的兩種方案

    Node.js獲取本機(jī)Mac地址的兩種方案

    有時(shí)候我們的項(xiàng)目中可能會(huì)有日志記錄的功能或者其他需要ip的功能,于是這時(shí)我們需要獲取用戶的ip地址或mac地址,下面這篇文章主要給大家介紹了關(guān)于Node.js獲取本機(jī)Mac地址的兩種方案,需要的朋友可以參考下
    2022-09-09
  • 基于Alpine Linux構(gòu)建前端node-web鏡像步驟詳解

    基于Alpine Linux構(gòu)建前端node-web鏡像步驟詳解

    這篇文章主要為大家介紹了基于Alpine Linux構(gòu)建前端node-web鏡像步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • 詳解一些適用于Node.js的命名約定

    詳解一些適用于Node.js的命名約定

    這篇文章主要介紹了詳解一些適用于Node.js的命名約定,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 關(guān)于Yarn的使用及說(shuō)明

    關(guān)于Yarn的使用及說(shuō)明

    這篇文章主要介紹了關(guān)于Yarn的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 使用VS開(kāi)發(fā) Node.js指南

    使用VS開(kāi)發(fā) Node.js指南

    這篇文章主要介紹了使用VS開(kāi)發(fā) Node.js的方法,主要是使用NTVS(Node.js Toolsfor Visual Studio)來(lái)實(shí)現(xiàn),有需要的小伙伴參考下
    2015-01-01
  • Node.js API詳解之 dgram模塊用法實(shí)例分析

    Node.js API詳解之 dgram模塊用法實(shí)例分析

    這篇文章主要介紹了Node.js API詳解之 dgram模塊用法,結(jié)合實(shí)例形式分析了Node.js API中dgram模塊基本功能、函數(shù)、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-06-06

最新評(píng)論