Node.js 入门笔记(6) - mysql
2018-01-11 18:10
846 查看
node.js 访问mysql
1. mysql模块使用
模块安装:npm install mysql --save
模块引用:var mysql = require('mysql');
创建连接池:var pool = mysql.createPool(options); 其中options为
获得连接
执行sql语句:connection.query(sql,[parameters],[function(err, result){}]);执行返回的数据为JSON格式。
释放链接:connection.release();
2. 实例
定义SQLSt字典变量,存放各种SQL语句。用module.exports方式定义各种方法,其中callback是将数据返回给前端的回调函数。
1. mysql模块使用
模块安装:npm install mysql --save
模块引用:var mysql = require('mysql');
创建连接池:var pool = mysql.createPool(options); 其中options为
{ host: '127.0.1', user: 'node', password: '123456', database: 'node', port: 3306 }
获得连接
pool.getConnection(function(err, connection){ //以下代码省略 });
执行sql语句:connection.query(sql,[parameters],[function(err, result){}]);执行返回的数据为JSON格式。
释放链接:connection.release();
2. 实例
定义SQLSt字典变量,存放各种SQL语句。用module.exports方式定义各种方法,其中callback是将数据返回给前端的回调函数。
var mysql = require('mysql'); var $conf = require('../../conf'); var pool = mysql.createPool($conf.mysql); var SQLStmt = { list: 'SELECT id, eng_name, chn_name, ip, type_flag, vaild_flag, ' +' date_format(created, "%Y-%m-%d") as created ' +'FROM machine order by id', listByKey: 'SELECT id, eng_name, chn_name, ip, type_flag, vaild_flag, ' +' date_format(created, "%Y-%m-%d") as created ' +'FROM machine WHERE id=?', add: 'INSERT INTO machine ( eng_name, chn_name, ip, ' +' type_flag, vaild_flag, created) values (?,?,?,?,?,?) ', edit: 'UPDATE machine SET eng_name=?, chn_name=?, ip=?, ' +'type_flag=?, vaild_flag=?, created=? WHERE id=?', del: 'DELETE FROM machine WHERE id=?' }; module.exports = { //查询数据 list: function(req, res, next, callback){ pool.getConnection(function(err, connection){ if(connection){ connection.query(SQLStmt.list, function(err, result){ callback(res, result); }); connection.release(); }else{ //console.log(err); callback(res, null); } }); }, //增加 add: function(req, res, next, callback){ var obj = req.body; if (obj === null){ console.log("上传数据为空"); callback(res, null); }else{ pool.getConnection(function(err, connection){ if(connection){ connection.query(SQLStmt.add, [obj.eng_name, obj.chn_name, obj.ip, obj.type_flag, obj.vaild_flag, obj.created], function(err, result){ //console.log(err); //console.log(result); callback(res, result); }); connection.release(); }else{ console.log(err); callback(res, null); } }); } }, //修改 edit: function(req, res, next, callback){ var obj = req.body; if (obj === null){ console.log("上传数据为空"); callback(res, null); }else{ console.log(obj); pool.getConnection(function(err, connection){ if(connection){ connection.query(SQLStmt.edit, [obj.eng_name, obj.chn_name, obj.ip, obj.type_flag, obj.vaild_flag, obj.created, obj.id], function(err, result){ //console.log(err); callback(res, result); }); connection.release(); }else{ console.log(err); callback(res, null); } }); } }, //删除 del: function(req, res, next, callback){ var obj = req.body; console.log(obj); if (obj === null){ console.log("上传数据为空"); callback(res, null); }else{ pool.getConnection(function(err, connection){ if(connection){ connection.query(SQLStmt.del, [parseInt(obj.id)], function(err, result){ //console.log(err); callback(res, result); }); connection.release(); }else{ console.log(err); callback(res, null); } }); } } }
相关文章推荐
- Node.js 入门笔记(1) - 基本环境
- Node.js学习笔记-入门
- Node.js入门笔记(3):全局对象(2)
- 创业笔记-Node.js入门之基于事件驱动的回调
- nodejs+mysql入门实例(增)
- node.js mysql 初探笔记
- Node.js学习笔记之一:入门
- 菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)
- 《Node.js入门》CentOS 6.5下Node.js Web开发环境搭建笔记
- Node.js入门学习笔记(三)
- Angular4+NodeJs+MySQL 入门-06 接口配置
- Node.js入门笔记(4):文件系统(fs)
- Angular4+NodeJs+MySQL 入门-06 接口配置
- Node.js入门笔记
- 创业笔记-Node.js入门之阻塞与非阻塞
- Node.js 入门笔记(3) - bootstrap
- Node.js入门学习笔记-IDE选择/配置之WebStorm(windows)
- Node.js入门笔记(5):案例两则
- node.js入门之二:mysql的使用-Mac环境开发
- Node.js 笔记二:入门及GeoNode.js GIS相关库