欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

nodejs怎么安裝mysql包

這篇文章主要講解了“nodejs怎么安裝MySQL包”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“nodejs怎么安裝mysql包”吧!

成都創(chuàng)新互聯(lián)公司專注于天鎮(zhèn)網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供天鎮(zhèn)營銷型網(wǎng)站建設,天鎮(zhèn)網(wǎng)站制作、天鎮(zhèn)網(wǎng)頁設計、天鎮(zhèn)網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)公司服務,打造天鎮(zhèn)網(wǎng)絡公司原創(chuàng)品牌,更為您提供天鎮(zhèn)網(wǎng)站排名全網(wǎng)營銷落地服務。

本教程操作環(huán)境:windows7系統(tǒng)、nodejs 14.15.4版,DELL G3電腦。

nodejs安裝mysql包、連接MySQL的方法

首先要安裝nodejs和npm。【相關推薦:《windows環(huán)境下怎么安裝nodejs?》】

寫了一個簡單的小例子,整個小例子使用了express框架,node_modules里面已經(jīng)下載好了express和ejs模板。先來看下目錄:

nodejs怎么安裝mysql包

server.js   =》  node.js的服務器啟動文件

db.js   =》  數(shù)據(jù)庫操作文件

views  =》  存放模板文件,也就是所有的頁面存放的地方

public =》  存放所有靜態(tài)資源的地方,比如css js images之類的

連接MySQL的方法:

第一步,需要安裝一個叫做MySQL的npm包,這個包是官方提供的,穩(wěn)定性是可以保證的,當然,也還有其他的npm包,這里我們只使用mysql包。安裝的方法很簡單了,輸入指令 npm install mysql --save,等待下載完成.

nodejs怎么安裝mysql包

看到這個樣子,那就是安裝成功了。

然后我們打開db.js文件,在里面寫入數(shù)據(jù)庫中操作必須的一些代碼,看下圖:

nodejs怎么安裝mysql包

代碼很少,意思也很明顯,第一步需要引入以mysql包,然后我們創(chuàng)建一個空對象,并且給他賦值一個叫query的方法,這個方法接受兩個參數(shù),第一個參數(shù)是你查詢數(shù)據(jù)時候的sql語句,第二個參數(shù)是獲取查詢結(jié)果的回調(diào)函數(shù)。

再看函數(shù)內(nèi)部,第一塊代碼是用來設置操作mysql的配置的:

nodejs怎么安裝mysql包

host表示mysql安裝的地址,因為我是本地的數(shù)據(jù)庫,所以直接使用localhost

  • user表示mysql的用戶名

  • password表示mysql的密碼

  • database表示你要選擇操作的具體的庫的名字

  • port表示端口,可不填,默認就是3306

mysql.createConnection的返回值connection是我們接下來操作mysql的一個具體的對象,所有的操作方法都是基于他的。

調(diào)用connection的connect方法判斷連接是否成功,如果失敗,則把錯誤信息打印出來,并且停止運行。

nodejs怎么安裝mysql包

調(diào)用connection的query方法來直接向數(shù)據(jù)庫發(fā)送sql語句,并且把用回調(diào)函數(shù)返回結(jié)果,其中回調(diào)函數(shù)中有三個參數(shù),第一參數(shù)是錯誤對象,如果操作失敗,則會停止并打印錯誤信息,第二參數(shù)是具體的返回的結(jié)果,正常情況下是一個數(shù)組,里面包含很多json,第三個參數(shù)也是一個數(shù)組,里面包含著最每個數(shù)據(jù)的解釋,比如當前數(shù)據(jù)屬于哪個庫,那張表等等。我們使用最多的自然是第二個參數(shù)了

nodejs怎么安裝mysql包

當數(shù)據(jù)庫操作結(jié)束以后關閉連接

nodejs怎么安裝mysql包

整個過程很簡單,只是其中有兩個問題,第一個是數(shù)據(jù)庫連接丟失的問題,不知道有沒有人碰到過,第一次訪問首頁的時候,連接數(shù)據(jù)庫正常,第二次訪問首頁,數(shù)據(jù)庫連接不上了,會報錯說連接丟失。這個原因是我們每操作完一次數(shù)據(jù)庫就關閉了數(shù)據(jù)庫連接,再次訪問的時候就找不到連接了,但是連接又不能不關閉,有人可能覺得奇怪,每次訪問首頁時候都會訪問db.js文件,不是每次都會有一個新連接產(chǎn)生嗎?是的,只是我最開始的時候生成連接的那段代碼并沒有放到db.query的函數(shù)中,而是放在外面,如下圖:

nodejs怎么安裝mysql包

這樣就導致連接只生成一次,關閉了以后,第二采訪得不到連接。把它放在函數(shù)里面以后,使用exports對外暴露接口。每次訪問首頁,都會重新走一遍創(chuàng)建連接的過程,每次都能拿到一個新的連接,這樣訪問就沒有問題了。其實項目中可以直接使用連接池。省去了很多麻煩。

第二個問題是我們在server.js中引入了db.js

nodejs怎么安裝mysql包

此時大家可能看到了,mysql.query有兩個參數(shù),第一個是sql,第二個是回調(diào)函數(shù),回調(diào)函數(shù)有一個result的參數(shù),其實他就是數(shù)據(jù)庫查詢出來的結(jié)果。有人會說為什么不直接在db.js中使用return,把查詢結(jié)果返回,搞什么回調(diào)??!

nodejs怎么安裝mysql包

其實這里就是node.js的異步造成的一些問題了,如果我們把server.js中的代碼改成下圖

nodejs怎么安裝mysql包

因為我們看到了mysql包的query方法是異步操作,這就導致下面的res.render()方法不會等待他把結(jié)果查詢出來以后再執(zhí)行,往往是結(jié)果還沒出來,就已經(jīng)開始渲染頁面,但是數(shù)據(jù)又沒有得到,所以就會報錯了。因此只好傳送了一個回調(diào)函數(shù)進去,在mysql的query方法結(jié)束以后,把結(jié)果通過參數(shù)傳入到我們自己寫的回調(diào)函數(shù)中,這樣我們就能在回調(diào)函數(shù)里得到結(jié)果了。然后再執(zhí)行渲染。當然處理這個問題還可以引入第三方包 async來解決異步問題,具體看個人了。

感謝各位的閱讀,以上就是“nodejs怎么安裝mysql包”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對nodejs怎么安裝mysql包這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!

標題名稱:nodejs怎么安裝mysql包
本文路徑:http://chinadenli.net/article48/gpdsep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設計公司、搜索引擎優(yōu)化、自適應網(wǎng)站、響應式網(wǎng)站、服務器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設