最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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 //類(lèi)型系統(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ě)的、類(lèi)型系統(tǒng)非常完整的數(shù)據(jù)庫(kù)關(guān)系映射,放張數(shù)據(jù)類(lèi)型截圖:

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

 很多類(lèi)型都可以使用js原生類(lèi)型+長(zhǎng)度代替,是否使用專(zhuān)用類(lèi)型聲明取決于實(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)文章

  • Node.js?全局變量無(wú)法掛載問(wèn)題解決分析

    Node.js?全局變量無(wú)法掛載問(wèn)題解決分析

    這篇文章主要為大家介紹了Node.js?全局變量無(wú)法掛載問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Node koa服務(wù)器實(shí)現(xiàn)獲取客戶端ip

    Node koa服務(wù)器實(shí)現(xiàn)獲取客戶端ip

    這篇文章主要為大家詳細(xì)介紹了Node koa服務(wù)器實(shí)現(xiàn)獲取客戶端ip的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解下
    2025-02-02
  • autojs的Node.js正確退出腳本示例

    autojs的Node.js正確退出腳本示例

    這篇文章主要為大家介紹了autojs的Node.js正確退出腳本示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Nodejs開(kāi)發(fā)grpc的實(shí)例代碼

    Nodejs開(kāi)發(fā)grpc的實(shí)例代碼

    Nodejs開(kāi)發(fā)grpc包含靜態(tài)和動(dòng)態(tài)兩種代碼生成方式,靜態(tài)代碼生成需要提前通過(guò).proto文件編譯生成JS源碼,而動(dòng)態(tài)代碼生成則是在運(yùn)行時(shí)指定IDL文件位置,實(shí)時(shí)生成源碼,兩者各有優(yōu)缺點(diǎn),本文給大家介紹Nodejs開(kāi)發(fā)grpc的實(shí)例代碼,感興趣的朋友一起看看吧
    2024-10-10
  • Node中解決接口跨域問(wèn)題詳解

    Node中解決接口跨域問(wèn)題詳解

    在 Node 中編寫(xiě)接口時(shí),我們常常會(huì)遇到跨域問(wèn)題,通過(guò)本篇文章,我們來(lái)聊聊如何解決 Node 中接口的跨域問(wèn)題,文中代碼示例介紹了非常詳細(xì),需要的朋友可以借鑒一下
    2023-04-04
  • Node.js的MongoDB驅(qū)動(dòng)Mongoose基本使用教程

    Node.js的MongoDB驅(qū)動(dòng)Mongoose基本使用教程

    這篇文章主要介紹了Node.js的MongoDB驅(qū)動(dòng)Mongoose的基本使用教程,前端js+后端Node.js+數(shù)據(jù)庫(kù)MongoDB是當(dāng)下流行的JavaScript全棧開(kāi)發(fā)方案,需要的朋友可以參考下
    2016-03-03
  • node.js文件的壓縮解壓?jiǎn)栴}

    node.js文件的壓縮解壓?jiǎn)栴}

    這篇文章主要介紹了node.js文件的壓縮解壓?jiǎn)栴},具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • node.js增刪改查保姆級(jí)教程方法

    node.js增刪改查保姆級(jí)教程方法

    這篇文章主要給大家介紹了關(guān)于node.js增刪改查保姆級(jí)教程的相關(guān)資料,node.js接口可以實(shí)現(xiàn)增加、刪除、修改和查詢操作,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • node.js文件系統(tǒng)模塊和兩個(gè)重要模塊

    node.js文件系統(tǒng)模塊和兩個(gè)重要模塊

    這篇文章主要介紹了node.js文件系統(tǒng)模塊和兩個(gè)重要模塊,nodejs是JavaScript的后端運(yùn)行環(huán)境,并對(duì)node.js的fs文件系統(tǒng)模塊做了簡(jiǎn)單的介紹,需要的小伙伴可以參考一下
    2022-06-06
  • 教你如何用node連接redis的示例代碼

    教你如何用node連接redis的示例代碼

    這篇文章主要介紹了教你如何用node連接redis的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07

最新評(píng)論

宕昌县| 盐亭县| 富宁县| 镇原县| 陇南市| 威海市| 凤山市| 宝山区| 罗定市| 寻乌县| 玛纳斯县| 永年县| 垣曲县| 克东县| 许昌市| 兴国县| 马鞍山市| 宜兰市| 彰化市| 台北县| 比如县| 铜鼓县| 呼图壁县| 巴中市| 肇源县| 辽阳县| 阜康市| 通道| 清新县| 麻栗坡县| 买车| 正定县| 东港市| 宁南县| 穆棱市| 福州市| 泰宁县| 梨树县| 延寿县| 磴口县| 商丘市|