一、数据库连接
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 (error, results, fields) { if (error) throw error; console.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; } };