nodejs连接mysql的封装模块

lopcomvir
lopcomvir 发布于 2016-12-26 11:50:09 浏览:251 类型:原创 - 随笔 分类:Node.js - 前端经验 二维码: 作者原创 版权保护
dao_mysql.js
//此处使用的是MySQL@2.11.1
var mysql = require('mysql');
//日志模块
var logger = require('./logger');
//连接池
var  pool   =  mysql.createPool({
      host     :  'localhost',
      port:3306,
      user     :  'root',
      password :  'root',
      database :  'mycrm'
});
//通用执行sql方法
module.exports.query = function (sql,params,callback) {
    pool.getConnection(function (err, connection) {
        if (err) {
            logger.error(err.message, err);
            if (callback) {
                callback(err);
            }
        } else {
            connection.query(sql, params, callback);
            connection.release();
        }
    });  
}

假设有一张user表
以user表增删改查为例
创建userservice.js存放user表操作的主要代码
在顶部引入dao_mysql
var dao = require('../modules/dao_mysql');
//查询用户列表
module.exports.getusers = function (searchparam, callback) {
    //此处调用存储过程,返回一个列表和总记录行数
    var sql = "call `proc_getusers`(?,?,?,?,?)";
    var params = [searchparam.Name, searchparam.LoginId, searchparam.Phone, searchparam.PageIndex, searchparam.PageSize];
    dao.query(sql, params, function (err, result, fields) {
        if (callback) {
            if (!err) {
                var users = {
                    rows: result[0],
                    totalitemcount: result[1][0].p_totalitemcount
                }
                callback(users);
            } else {
                callback();
            }
        }
    });
}

//修改用户
module.exports.modifyuser = function (user, callback) {
    var sql = "UPDATE `user`   SET    `Name` = ?,`Sex` = ?,`Phone` = ?, `Email` = ?, `Address` = ?,`Enable`=?  WHERE `Id` = ?";
    var params = [
        user.Name,
        user.Sex,
        user.Phone,
        user.Email,
        user.Address,
        user.Enable,
        user.Id
    ];
    dao.query(sql, params, function (err, result) {
        if (callback) {
            if (!err) {
                var success = result.affectedRows > 0;
                callback(success, success ? "修改成功" : "修改失败");
            } else {
                callback(false, "修改失败");
            }
        }
    });
}
标签:
z
给个赞 4 人点赞
收藏 2 人收藏
评论 已有 0 条评论;以下用户言论只代表其个人观点,不代表 前端网(QDFuns) 的观点或立场。
登录 以后才能发表评论
最新评论
还没有任何评论呢,赶紧抢先来一发吧!
lopcomvir lopcomvir 作者

GitHub:https://github.com/comvir

作者最新