• Node.mysql


    mysql为常用数据库,下面简单记录在nodejs中操作mysql数据库的简单实现。

    环境:

    nodejs4.2.2

    mysql5.7.12

    win7

    参考资料:

    npm mysql

    代码

    
    
    var mysql=require("mysql");
    var conn = require('../../config/conn.json');
    var mysqlHander = module.exports;


    /*
    ** * 数据库连接配置信息 */ var pool = mysql.createPool({ host: conn.mysql.houstName, user: conn.mysql.userName, password: conn.mysql.userPassword, database: conn.mysql.dbName, port: conn.mysql.hostPort }); /** * mysql数据连接池 * @param sql * @param callback */ var query = function(sql,param,callback){ if(param === undefined){ pool.getConnection(function(err,conn){ if(err){ callback(err,null,null); }else{ conn.query(sql,function(qerr,vals,fields){ //释放连接 conn.release(); //事件驱动回调 callback(qerr,vals,fields); }); } }); }else { pool.getConnection(function(err,conn){ if(err){ callback(err,null,null); }else{ conn.query(sql,param,function(qerr,vals,fields){ //释放连接 conn.release(); //事件驱动回调 callback(qerr,vals,fields); }); } }); } pool.on('error',handleError); }; /** * 连接异常退出 打开新的连接 * @param err */ function handleError (err) { console.log('数据访问异常退出...正在尝试重新建立连接'); if (err) { // 如果是连接断开,自动重新连接 if (err.code === 'PROTOCOL_CONNECTION_LOST') { connect(); console.log('尝试重新打开连接...'); } else { console.error(err.stack || err); console.log('尝试重新建立连接失败!请检查数据访问,文件位置:'+ __dirname); console.log(err); } } } /** * 数据操作 * @param callBack */ mysqlHander.query = function (callBack) { query(mysqlHander.sql,mysqlHander.param, function (err,rows,filed) { if(err) console.log(err); callBack(err,rows,filed); }); }
  • 相关阅读:
    Sublime Text 3 安装及常用插件配置
    利用事件对象实现线程同步
    基于UDP(面向无连接)的socket编程
    基于TCP(面向连接)的socket编程
    基于TCP(面向连接)的socket编程
    响应式布局之媒体查询 @media
    (function($){})(jQuery)---Javascript的神级特性:闭包
    noConflict()
    $.extend()与$.fn.extend()
    Web中的宽和高
  • 原文地址:https://www.cnblogs.com/z-yue/p/5717087.html
Copyright © 2020-2023  润新知