前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >NodeJS操作Mysql示例

NodeJS操作Mysql示例

作者头像
苦咖啡
发布2018-04-28 13:52:24
1.6K0
发布2018-04-28 13:52:24
举报
文章被收录于专栏:我的博客我的博客
代码语言:javascript
复制
//config.js
module.exports={
	
	mysql:{
		host:'localhost',
		port:3306,
		user:'Joyous',
		password:'123456',
		database:'html5',
		charset:'utf8',
		connectionLimit:100,
	}
}
//mysql.js
var mysql=require('mysql');
var config = require('./config.js');
var DB  = mysql.createPool(config.mysql);
var DB_MYSQL = function(){
	__constructor();
	//数据查询接口
	this.fetchRow = function(tableName, idJson, callback) {
		DB.query('SELECT * FROM ' + tableName + ' where ? ', idJson, function(error, results){
			if(error) {
				console.log('ERROR :' + error.message);
				DB.end();
				callback(false);
			} else {
				if(results) {
					callback(results.pop());
				} else {
					callback(results);
				}
			}
		});
		
	};
	//数据插入接口
	this.insert = function(tableName, rowInfo, callback) {
		DB.query('INSERT INTO ' + tableName + ' SET ?', rowInfo, function(err, result){
			if(err) throw err;
			callback(result.insertId);
		});
		
	};
	//数据修改接口
	this.update = function(tableNmae, idJson, rowInfo, callback) {
		DB.query('UPDATE ' + tableName + ' SET ? where ?', [rowInfo, idJson], function(error, result){
			if(error) {
				console.log('UPDATE ERROR :' + error.message);
				callback(false);
			} else {
				callback(result)
			}
		});
	};
	//数据删除接口
	this.remove = function(tableName, idJson, callback){
		DB.query('DELETE ' + tableName + ' where ? ', idJson, function(err, results){
			if(err) {
				console.log('DELETE ERROR :' + err.message);
				DB.end();
				callback(false);
			} else {
				callback(true);
			}
		});
	};
	//自定义查询
	this.queryStr = function(sql,callback){
		DB.query(sql, function(error, result){
			if(error) {
				console.log('QUERY'+ error.message);
				DB.end();
				callback(false);
			} else {
				callback(result);
			}
		});
	};
	//条件查询
	this.fetchAll = function(tableName, whereJson, orderByjson, limitArr, selectStr, callback){
		var andWhere=whereJson['and'],orWhere=whereJson['or'],andArr=[],orArr=[];
		for(var i =  0;i0 ? andArr.join(' and ') : '',
			orStr = orArr.length > 0 ? orArr.join(' or ') : '',
			limitStr = limitArr.length > 0 ? ' limit '+limitArr.join(",") : "",
			orderStr = orderByjson['type'] ? ' order by ' + orderByjson['key'] + ' ' + orderByjson['type'] : '';
			var sql = 'SELECT ' + selectStr + ' FROM ' + tableName + ' where ' + andStr + orStr + orderStr + limitStr;
			DB.query(sql,function(err, results) {
				if(err) {
					console.log('FETCHALL ERROR :' + err.message);
					DB.end();
					callback(false);
				} else {
					callback(results);
				}
			});
	};
	//构造函数
	function __constructor(){

	}
};
module.exports = new DB_MYSQL();
//test.js
var DB=require('./lib/mysql.js');
DB.fetchRow('cj_sys',{id:1},function(res){
	console.log(res.id);
});
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年9月10日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档