`
阅读更多
// db-util.js
var mysql = require('mysql');
var pool = mysql.createPool({
  connectionLimit : 10,
  host: 'localhost',
  user: 'root',
  password: '',
  database: 'test',
  port: 3306
});

exports.dataCenter = function(sql, fn) {
  // (callback && typeof(callback) === "function")
  pool.getConnection(function (err, conn) {
    if (err) {
      console.log("POOL ==> " + err);
      return fn(err);
    } else {
      conn.query(sql, function (err, res) {
        conn.release();
        return fn(res);
      });
    }
  });
};

 

// 利用回调函数达到同步操作数据并获取信息的效果
var mysql = require('mysql')
  , dbUtil = require('./db-util');

var selectSQL = "select * from ?? where idcard = ?";
var selectArr = ['employee', 'xxxxx'];
selectSQL = mysql.format(selectSQL, selectArr);

dbUtil.dataCenter(selectSQL, function(data) {
  console.log(data);
});

 

 

[ { id: 1,
    name: 'Happy',
    idcard: 'xxxxx',
    department: 'frontend',
    birthday: Sat Oct 07 1989 00:00:00 GMT+0800 (中国标准时间), 
    salary: 1234.56,
    create_date: Wed Oct 29 2014 14:03:08 GMT+0800 (中国标准时间) 
  }...]

 

分享到:
评论
2 楼 qiaolevip 2015-01-06  
maxer025 写道
有个小问题,执行完后,光标还停在数据末尾,程序未完成,是数据库哪个链接未释放么?

这个不管它,是nodejs执行的关系,属于正常情况。 这里会 conn.release();   释放连接的。
nodejs执行数据库查询不像简单js那样执行完毕就停止,数据库连接池还在。
1 楼 maxer025 2015-01-05  
有个小问题,执行完后,光标还停在数据末尾,程序未完成,是数据库哪个链接未释放么?

相关推荐

    nodejs同步调用获取mysql数据时遇到的大坑

    本篇文章主要探讨了在尝试使用同步方式获取MySQL数据时遇到的问题,以及如何通过正确的异步处理方法来解决这些问题。 首先,我们来看错误的示范。在错误的代码示例中,`_getUser` 函数尝试同步地从数据库中获取用户...

    nodejs用户同步

    nodejs用户同步,里面包含excel批量导入代码,提供了写法,做参考

    nodejs+vue+express+mysql

    6. **异步编程**:掌握Promise和async/await来处理非同步任务。 7. **状态管理**:在Vue中使用Vuex管理组件间的共享状态。 8. **部署**:了解如何将应用部署到云服务器,如Heroku、DigitalOcean等。 9. **安全性**:...

    北邮数据库自主实验nodejs+mysql

    【标题】"北邮数据库自主实验nodejs+mysql"是一个基于Node.js和MySQL数据库的实践项目,旨在让学生掌握这两项技术的结合应用。这个实验涵盖了Web开发中的后端部分,特别是利用JavaScript的非同步特性来处理数据库...

    nodejs和C语言插入mysql数据库乱码问题的解决方法

    这一次要说一下的是在C语言和nodejs与MySQL进行交互的时候出现的乱码问题。  1,由于爬虫程序在多个Docker中执行,因此我需要定期的同步每一个docker中的mysql数据到一个全局的mysql数据表中。使用nodejs进行数据...

    docker-node-mysql-demo:Docker nodejs mysql 演示

    演示如何使用 docker+fig 设置 nodejs 应用程序和 mysql db 服务。 入门 克隆项目并 cd 到其中 安装 安装 将您的 sql 转储复制到lib/db/dump.sql路径。 如果使用 boot2docker,请同步访客时钟: /usr/local/bin/...

    微信小程序-点餐系统(包含前端小程序,后台nodejs及mysql数据库表).zip

    该压缩包文件“微信小程序-点餐系统(包含前端小程序,后台nodejs及mysql数据库表).zip”是一个完整的点餐系统的源代码包,适用于毕业设计或课程设计项目。这个系统由三个主要部分组成:微信小程序前端、Node.js...

    1nodejs Demo

    这种方式避免了传统的多线程同步 I/O 操作可能导致的阻塞问题,提高了系统资源的利用率。 2. **模块系统**:Node.js 使用 CommonJS 规范实现模块化,通过 `require` 函数加载模块,`exports` 或 `module.exports` ...

    个人学习(nodejs+koa2+mysql).zip

    这个"个人学习(nodejs+koa2+mysql)"项目可能是对这些技术的一个实践,通过解压文件kwan1117,你可能看到的是具体的源代码结构,包括路由文件、数据库配置、模型文件等,进一步学习如何在实际项目中整合这些技术。...

    Nodejs使用mysql模块之获得更新和删除影响的行数的方法

    在Node.js中使用mysql模块时,获取update和delete操作影响的行数是数据库操作中的常见需求。在MySQL数据库中,通常可以通过SQL语句后的row_count()函数来获得影响的行数。然而,在Node.js中,由于mysql模块基于异步I...

    angularjs+nodejs例子

    数据绑定使得视图与模型之间的同步变得简单;依赖注入帮助管理对象间的依赖关系;指令扩展了HTML,使其能够表达更多的业务逻辑;过滤器用于格式化数据;服务则封装了可重用的功能模块。 2. **Node.js基础**:Node....

    Nodejs框架+uniapp前端微商个人相册多端小程序源码.rar

    总的来说,"Nodejs框架+uniapp前端微商个人相册多端小程序源码.rar"是一个综合性的项目,涉及到了前后端开发的诸多技术点,包括Node.js服务器搭建、uni-app多端适配、图片处理、数据库操作、用户认证以及数据同步。...

    基于Vue+Nodejs+的茶叶售卖平台设计与实现

    使用SQL语句进行数据的增删改查操作,并通过Node.js的mysql模块进行数据库连接和操作。 4. **服务端代码.rar**:这部分包含了Node.js服务器端的所有代码,包括Express的路由定义、中间件、数据库操作逻辑等。开发者...

    nodejs 的几个小程序

    - async/await:基于 Promise 的语法糖,使得异步代码看起来更像同步。 5. **npm**: - Node.js 的包管理器,用于安装、管理和分享依赖。 - `package.json` 文件:项目配置,记录依赖关系、脚本命令等。 6. **...

    nodejs书籍

    书中可能还会讨论Node.js中的文件系统操作、流、套接字通信等核心API,并探讨Node.js在实时应用、微服务、大数据处理等方面的应用。 另一本"Node.js高级编程(英文)"则可能更侧重于进阶主题,如性能优化、错误处理...

    斗地主代码,前端cocos2d,后端nodejs

    本项目以“斗地主代码研究,前端cocos2d,后端nodejs”为主题,旨在探讨如何使用Cocos2d引擎构建游戏前端,以及Node.js搭建高效稳定的后端服务。 一、Cocos2d前端开发 Cocos2d是一款开源的游戏开发框架,主要用C++...

    nodejs代码自动生成工具

    它提供了诸如定义模型、同步/异步操作数据库、事务处理、关联关系等功能。在大型项目中,通过Sequelize自动生成DAO代码,可以极大地减少手动编写SQL和数据库交互代码的工作量。 首先,我们需要安装Sequelize和对应...

    nodejs-socket.io-mysql

    3. **协作工具**:多人协作编辑文档,Socket.IO 实时同步编辑状态,MySQL 存储文档内容和历史版本。 项目 "nodejs-socket.io-mysql-master" 可能包含以下文件和目录: - `app.js` 或 `server.js`:主服务器文件,...

    VUE + nodejs实战

    总的来说,“VUE + nodejs实战”涵盖了前端开发、后端开发、数据库操作、API设计、安全机制和部署策略等多个方面,是全面掌握现代Web开发技术的重要实践。通过这个项目,开发者不仅可以深化对Vue.js和Node.js的理解...

Global site tag (gtag.js) - Google Analytics