zoukankan      html  css  js  c++  java
  • nodejs连接mysql实例

     

    1、在工程目录下运行npm install mysql安装用于nodejs的mysql模块;

    2、创建db.js模块用于连接mysql,同时定义query查询方法;

    var mysql = require('mysql');
    
    // 创建一个数据库连接池
    var pool = mysql.createPool({
      connectionLimit: 50,
      host: 'localhost',
      user: 'admin',
      password: '123456',
      database: 'rp-test'
    });
    
    // SELECT * FROM users
    // 让我们的方法支持两种模式
    // 一种是只传入SQL语句和回调函数
    // 一种是传入SQL语句、参数数据、回调函数
    
    exports.query = function (sql, P, C) {
      var params = [];
      var callback;
    
      // 如果用户传入了两个参数,就是SQL和callback
      if (arguments.length == 2 && typeof arguments[1] == 'function') {
        callback = P;
      } else if (arguments.length == 3 && Array.isArray(arguments[1]) && typeof arguments[2] == 'function') {
        params = P;
        callback = C;
      } else {
        throw new Error('对不起,参数个数不匹配或者参数类型错误');
      }
    
    
      // 如果用户传入了三个参数,那么就是SQL和参数数组、回调函数
    
    
      // 从池子里面拿一个可以使用的连接
      pool.getConnection(function (err, connection) {
        // Use the connection
        connection.query(sql, params, function () {
          // 使用完毕之后,将该连接释放回连接池
          connection.release();
          callback.apply(null, arguments);
        });
      });
    };

    3、查询示例

    按 Ctrl+C 复制代码

    var express = require('express');

    var db = require('./db');

    var router = express.Router();

    router.get('/',function(req, res, next){ db.query("select * from app",function(err,result){ //console.log(result);

    res.send(JSON.stringify (result)); }); });

    module.exports=router;

  • 相关阅读:
    Arcgis中修改字段名方法
    题事件名称为CLR20r3
    【转】CLR20R3 程序终止的几种解决方案
    Ajax+asp.net无刷新验证用户名
    [转载]C/C++编译器cl.exe的命令选项
    [网络整理]DEBUG命令使用解析五
    [网络整理]DEBUG命令使用解析一
    [网络整理]DEBUG命令使用解析六
    [易学C#]C#3.0语言新特性
    [易学C#]C#3.0语言新特性之Lambda表达式
  • 原文地址:https://www.cnblogs.com/hellomrr/p/6772549.html
Copyright © 2011-2022 走看看