使用nodejs開發前后端分離式接口+數據庫訪問


一、數據庫連接

1.nodejs數據庫連接

var mysql = require('mysql'); //導入數據庫模塊

var connection = mysql.createConnection({

host : '192.168.xx.xx',//數據庫地址,本地數據庫可使用localhost或者127.0.0.1

user : 'root',  //數據庫賬戶名

password : 'root',  //數據庫密碼

database : 'test' });  //數據庫名稱

connection.connect();連接數據庫

connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); });//數據庫執行語句,增刪改查都是用query();

2.實際使用中 query很容易出現訪問異常,建議使用數據池

var mysql = require('mysql'),
env = {
host : '192.168.xx.xx',
user : 'root',
password : 'root',
database : 'test'
};

pool  = mysql.createPool(env);
query = function (sql, callback){
this.getConnection(function (err, connection){
connection.query(sql, function (){
callback.apply(connection, arguments);
connection.release();
});

})
}.bind(pool);

pool.query('SELECT 1 + 1 AS solution'function (errorresultsfields) { if (error) throw errorconsole.log('The solution is: 'results[0].solution)});

二、接口開發
我開發的接口為get請求,參數直接通過url傳遞
app.get('/test',function(req,res){
var params = url.parse(req.url, true).query;
var id='\"'+params.id+'\"';
var sql='SELECT COUNT(*) FROM test WHERE id='+id;
pool.query(sql, function(err, rows, fields) {
if (err) throw err;
res.jsonp(rows);
res.end();
});
});

接口請求方式:

var ajax = new XMLHttpRequest();
var d = new Date();
var date = d.getDate();
ajax.open('get','http://192.168.xx.xx:端口號/test?id='+id);
ajax.send();
ajax.onreadystatechange = function () {
if (ajax.readyState==4 &&ajax.status==200) {
var messages=ajax.responseText;
}
};






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM