火熱的夏天,突然想來個Nodejs加Mysql,練手不多解釋。
1.安裝Nodejs, 官網自行下載:https://nodejs.org/en/download/,雙擊運行沒什么好說的了
Windows: https://nodejs.org/dist/v4.4.7/node-v4.4.7-x86.msi Mac: https://nodejs.org/dist/v4.4.7/node-v4.4.7.pkg
2. 創建目錄+安裝Express+mysql
$> mkdir DemoLear $> cd DemoLear $> mkdir routes $> npm install express $> npm install mysql
目錄結構:
DemoLear
|-- routes
|-- mysql_route.js
|-- sample1_mysql.js
3. 代碼 sample1_mysql.js
var express = require('express'); var app = express(); // MiddleWare or usually around here // To-dos //API Router var router = express.Router(); var index = require('./routes/mysql_route').router; app.use('/', index); //Start Server var server = app.listen(3000, function(){ console.log("Server start at 127.0.0.1 3000"); });
4.代碼: mysql_route.js
var express = require('express'); var router = express.Router(); var mysql = require('mysql'); var connnectionPool = mysql.createPool({ host : 'localhost', user : 'root', password: 'XXXXX', database: 'test' }); router.get('/:table', function(req, res){ //res.send('Welcome Nodejs and Mysql '); connnectionPool.getConnection(function(err, db){ if(err){ console.error('CONNECTION error: ', err); res.statusCode = 503; res.send({ result : 'error', err : err.code }); } else{ //query the database console.log("CONNECTION SUCCESSFUL!"); //res.send("CONNECTION SUCCESSFUL!"); db.query('select * from '+ req.params.table , function(err, rows, fields){ if(err){ console.log("Query data ERROR!"); } res.send({ result: 'success', err: '', fields: fields, data: rows, count : rows.length }); db.release(); }); } }); }); module.exports.router = router;
5. Mysql,服務:locahost, 表:artical,用戶:root,密碼:XXXXX
6. 運行命令行:
$> node sample1_mysql.js
7. 訪問:
http://localhost:3000/artical
表名作為Url傳遞(紅色字)
8.效果:
9.總結:開發效率還是挺快的。