nodejs+express最簡(jiǎn)易的連接數(shù)據(jù)庫(kù)的方法
環(huán)境搭建
1.首先需要自行安裝node環(huán)境
2.然后全局安裝 express
npm install -g express
3.創(chuàng)建express項(xiàng)目文件夾
express創(chuàng)建項(xiàng)目默認(rèn)為jade模板引擎,若使用其他引擎,使用命令切換
express node_demo -e (選擇ejs模板) // 在項(xiàng)目名稱的后面添加 -e 那么創(chuàng)建出來(lái)的模板文件就是.ejs類型,語(yǔ)法是與html相同的
在vscode中打開(kāi)我們建好的項(xiàng)目,目錄如下:
對(duì)于ejs看著不習(xí)慣的同學(xué)可以將其改為html,如下:
然后還需要將在views新建一個(gè)index.html 與error.html 內(nèi)容如下 index.html
error.html
安裝依賴 npm install
啟動(dòng)項(xiàng)目 npm start
監(jiān)聽(tīng)bin/www文件,默認(rèn)端口為3000,可在www文件中更改, 打開(kāi)瀏覽器,輸入localhost:3000
這時(shí)我們就可以看到頁(yè)面顯示的內(nèi)容是index.html 里面定義的內(nèi)容了
因?yàn)槊看涡薷亩夹枰匦聠?dòng),比較麻煩,這里有個(gè)插件nodemon,可以自動(dòng)重啟
npm install nodemon
將package.json文件中的代碼修改為:
"start": "nodemon ./bin/www"
連接MySQL數(shù)據(jù)庫(kù)
先安裝mysql
npm install mysql
2.然后封裝數(shù)據(jù)庫(kù)連接模塊,我們?cè)诟夸浵滦陆ㄒ粋€(gè)conf文件夾, 新建一個(gè)db.config.js,與db.js 內(nèi)容如下:
// db.config.js // 創(chuàng)建mysql連接 module.exports = { host: 'localhost', // 服務(wù)器地址 user: '*****', // mysql用戶名稱 password: '**********', // mysql用戶密碼 port: '3306', // 端口 database: 'onepiece', // 數(shù)據(jù)庫(kù)名稱 }
// db.js var mysql = require('mysql') var dbConfig = require('./db.config') module.exports = { query: function (sql, params, callback) { //每次使用的時(shí)候需要?jiǎng)?chuàng)建鏈接,數(shù)據(jù)操作完成之后要關(guān)閉連接 var connection = mysql.createConnection(dbConfig) connection.connect(function (err) { if (err) { throw err } //開(kāi)始數(shù)據(jù)操作 connection.query(sql, params, function (err, results, fields) { if (err) { throw err } //將查詢出來(lái)的數(shù)據(jù)返回給回調(diào)函數(shù) callback && callback( JSON.parse(JSON.stringify(results)), JSON.parse(JSON.stringify(fields)) ) //停止鏈接數(shù)據(jù)庫(kù),必須在查詢語(yǔ)句后,要不然一調(diào)用這個(gè)方法,就直接停止鏈接,數(shù)據(jù)操作就會(huì)失敗 connection.end(function (err) { if (err) { console.log('關(guān)閉數(shù)據(jù)庫(kù)連接失??!') throw err } }) }) }) }, }
然后我們可以在routes 目錄下的users文件中添加如下代碼:
var db = require('../conf/db') router.get('/userList', (req, res, next) => { // sql查詢user表 db.query('SELECT * FROM user', [], function (results, fields) { // 以json的形式返回 res.json({ results }) }) })
打開(kāi)瀏覽器訪問(wèn) http://localhost:3000/users/userList
這樣一個(gè)nodejs+express連接數(shù)據(jù)庫(kù)就簡(jiǎn)單的完成了
后記
安裝Navicat Premium
下載地址:http://chabaoo.cn/database/703548.html
安裝MySQL
下載地址:http://chabaoo.cn/softs/38849.html
到此這篇關(guān)于nodejs+express最簡(jiǎn)易的連接數(shù)據(jù)庫(kù)的方法的文章就介紹到這了,更多相關(guān)node express 連接數(shù)據(jù)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Node.js連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)過(guò)程詳解
- node連接MySQL數(shù)據(jù)庫(kù)的3種方式總結(jié)
- Vue項(xiàng)目通過(guò)node連接MySQL數(shù)據(jù)庫(kù)并實(shí)現(xiàn)增刪改查操作的過(guò)程詳解
- node基于express框架操作Mysql數(shù)據(jù)庫(kù)的步驟
- Node-Red實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)連接的方法
- nodejs使用Sequelize框架操作數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
- Node服務(wù)端實(shí)戰(zhàn)之操作數(shù)據(jù)庫(kù)示例詳解
相關(guān)文章
學(xué)習(xí)使用grunt來(lái)打包JavaScript和CSS程序的教程
這篇文章主要介紹了學(xué)習(xí)使用grunt來(lái)打包JavaScript和CSS程序的教程,grunt基于node.js和需要的朋友可以參考下2016-01-01Node.js 服務(wù)器端應(yīng)用開(kāi)發(fā)框架 -- Hapi.js
Hapi.js 是一個(gè)用來(lái)構(gòu)建基于 Node.js 的應(yīng)用和服務(wù)的富框架,使得開(kāi)發(fā)者把重點(diǎn)放在便攜可重用的應(yīng)用邏輯而不是構(gòu)建架構(gòu)。內(nèi)建輸入驗(yàn)證、緩存、認(rèn)證和其他 Web 應(yīng)用開(kāi)發(fā)常用的功能。2014-07-07使用NVM實(shí)現(xiàn)不同nodejs版本的自由切換
在工作中,我們可能需要同時(shí)進(jìn)行多個(gè)不同NodeJS版本的項(xiàng)目開(kāi)發(fā),這種情況下,對(duì)于維護(hù)多個(gè)版本的node將會(huì)是一件非常麻煩的事情,NVM就是為解決這個(gè)問(wèn)題而產(chǎn)生的,本文給出了下載、安裝及使用方法,需要的朋友可以參考下2024-02-02NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼
這篇文章主要介紹了NodeJS和BootStrap分頁(yè)效果的實(shí)現(xiàn)代碼的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Node使用Sequlize連接Mysql報(bào)錯(cuò):Access denied for user ‘xxx’@‘localh
這篇文章主要給大家介紹了關(guān)于Node使用Sequlize連接Mysql報(bào)錯(cuò):Access denied for user 'xxx'@'localhost'的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-01-01解決node-webkit 不支持html5播放mp4視頻的方法
本文給大家分享的是解決node-webkit 不支持html5播放mp4視頻的方法,其原因大概是因?yàn)閚ode-webkit沒(méi)有購(gòu)買mp4格式的專利授權(quán),恩,我們來(lái)想個(gè)辦法來(lái)解決這個(gè)事情吧。2015-03-03Node.js?全局變量無(wú)法掛載問(wèn)題解決分析
這篇文章主要為大家介紹了Node.js?全局變量無(wú)法掛載問(wèn)題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04