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

Node.js連接數(shù)據(jù)庫實(shí)現(xiàn)過程詳解

 更新時(shí)間:2022年12月14日 09:15:00   作者:魚露  
這篇文章主要為大家介紹了Node.js連接數(shù)據(jù)庫實(shí)現(xiàn)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

創(chuàng)建數(shù)據(jù)庫

在前面的數(shù)據(jù)庫入門中我們講解了常用的sql語法以及實(shí)戰(zhàn),接下來我們來介紹一下如何在nodejs中使用數(shù)據(jù)庫

在前面的文章中我們有手把手使用docker創(chuàng)建數(shù)據(jù)庫,這里就直接沿用之前創(chuàng)建的數(shù)據(jù)庫

首先啟動(dòng)docker,把之前的mysql容器運(yùn)行起來

然后登入mysql客戶端查看一下現(xiàn)有的數(shù)據(jù)庫,以及user表

mysql

在前面我們已經(jīng)使用mysql自帶的客戶端連接數(shù)據(jù)庫進(jìn)行一些操作, 到了node.js中我們可以用mysql這個(gè)npm包來連接mysql數(shù)據(jù)庫,這個(gè)包也同樣實(shí)現(xiàn)了mysql協(xié)議

首先安裝一下依賴,

pnpm install mysql

按照文檔配置好連接數(shù)據(jù)庫的參數(shù)

const mysql = require('mysql');
const connection = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: 'password',
  database: 'jym',
  port: '2333',
});
connection.connect();
connection.query('SELECT * FROM Users', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', results[0].solution);
});
connection.end();

運(yùn)行之后出現(xiàn)了下面這個(gè)錯(cuò)誤,似乎是mysql這個(gè)npm包不支持mysql8導(dǎo)致的,具體可以查看這個(gè)issue

'Client does not support authentication protocol requested by server; consider upgrading MySQL client',

沒辦法,只能換一個(gè)npm包試試看了

pnpm uninstall mysql
pnpm install mysql2

mysql2的語法和mysql那個(gè)基本一樣

// get the client
const mysql = require('mysql2');
// create the connection to database
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  database: 'jym',
  password: 'password'
});
connection.connect();
connection.query('SELECT * FROM user', function (error, results, fields) {
  if (error) throw error;
  console.log('The solution is: ', JSON.stringify(results));
});
connection.end();

運(yùn)行結(jié)果如下,可以看到下面的數(shù)據(jù)和上方使用mysql客戶端查出來結(jié)果一致

The solution is:  [{"name":"jym","age":"1"},{"name":"jym2","age":"2"},{"name":"jym3","age":"3"},{"name":"jym4","age":"4"}]

通過mysql2這個(gè)包,我們就可以用node.js連接數(shù)據(jù)庫了,可以使用一些基礎(chǔ)的API來直接操作mysql數(shù)據(jù)庫;比如上面的代碼中就執(zhí)行了'SELECT * FROM user'這個(gè)sql語句

除了使用這種基礎(chǔ)庫之外,我們還可以使用ORM(對(duì)象關(guān)系映射器)框架來連接數(shù)據(jù)庫,直接用OOP的方式來編寫模型和方法,ORM框架會(huì)幫助你生成對(duì)應(yīng)的sql語句,這樣就可以把關(guān)注點(diǎn)放在業(yè)務(wù)上面,而不用編寫SQL語句。這可以讓你的代碼更加簡潔和可維護(hù)

目前在nodejs中常用的ORM有prisma,sequlize,typeorm等等,下回我們就來嘗試一下如何用ORM來連接數(shù)據(jù)庫

以上就是Node.js連接數(shù)據(jù)庫實(shí)現(xiàn)過程詳解的詳細(xì)內(nèi)容,更多關(guān)于Node.js連接數(shù)據(jù)庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 一文搞懂npm?install?意義

    一文搞懂npm?install?意義

    我們在安裝依賴包的時(shí)候,不需要過多的去糾結(jié)是使用?-S?還是?-D?呢??隨便安裝到?dependencies?或者?devDependencies?里都行,反正?npm?install的時(shí)候,都會(huì)安裝dependencies?和?devDependencies依賴,今天通過本文學(xué)習(xí)npm?install意義,感興趣的朋友跟隨小編一起看看吧
    2022-12-12
  • NodeJs中的VM模塊詳解

    NodeJs中的VM模塊詳解

    這篇文章主要介紹了NodeJs中的VM模塊詳解,本文講解了什么是VM? 、VM模塊的runInThisContext、runInThisContext方法等內(nèi)容,需要的朋友可以參考下
    2015-05-05
  • npm報(bào)錯(cuò):無法將"npm"項(xiàng)識(shí)別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱

    npm報(bào)錯(cuò):無法將"npm"項(xiàng)識(shí)別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱

    這篇文章主要給大家介紹了關(guān)于npm報(bào)錯(cuò):無法將"npm"項(xiàng)識(shí)別為cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • import與export在node.js中的使用詳解

    import與export在node.js中的使用詳解

    本篇文章主要介紹了import與export在node.js中的使用詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js控制器Controller使用教程

    Node.js控制器Controller使用教程

    這篇文章主要介紹了Node.js控制器Controller使用教程,一個(gè)控制器的目的是接收應(yīng)用程序的特定請求。路由機(jī)制控制哪個(gè)控制器接收哪些請求。通常,每個(gè)控制器有一個(gè)以上的路由,不同的路由可以執(zhí)行不同的動(dòng)作
    2023-04-04
  • Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版

    這篇文章主要介紹了Nodejs express框架一個(gè)工程中同時(shí)使用ejs模版和jade模版 的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Node.JS使用Sequelize操作MySQL的示例代碼

    Node.JS使用Sequelize操作MySQL的示例代碼

    Node.JS提供了操作數(shù)據(jù)庫的基礎(chǔ)接口,本篇文章主要介紹了Node.JS使用Sequelize操作MySQL的示例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-10-10
  • Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請求的教程

    Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請求的教程

    Mock.js這個(gè)JavaScript庫最常見的用法便是被用來攔截AJAX請求,well,這里我們就來看一下Node.js服務(wù)器環(huán)境下使用Mock.js攔截AJAX請求的教程:
    2016-05-05
  • 詳解Node.js包的工程目錄與NPM包管理器的使用

    詳解Node.js包的工程目錄與NPM包管理器的使用

    這篇文章主要介紹了Node.js包的工程目錄與NPM包管理器的使用,可以幫助編程者更好地組織Node.js代碼文件,需要的朋友可以參考下
    2016-02-02
  • node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄

    node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄

    這篇文章主要介紹了node puppeteer(headless chrome)實(shí)現(xiàn)網(wǎng)站登錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05

最新評(píng)論

宁明县| 开鲁县| 克什克腾旗| 宜川县| 滨海县| 彝良县| 平利县| 北海市| 潞城市| 于田县| 安仁县| 肃南| 玉龙| 沙坪坝区| 赫章县| 鄄城县| 罗平县| 黄梅县| 武胜县| 汪清县| 若羌县| 临汾市| 巴林左旗| 平武县| 托克托县| 灵石县| 郓城县| 宕昌县| 长宁县| 邢台县| 余姚市| 南丹县| 简阳市| 化隆| 静安区| 陆河县| 东港市| 启东市| 金昌市| 博湖县| 饶阳县|