Node.js实现简单的mysql数据库构造函数, 主要是语句生成
2016-12-25 13:53
211 查看
这里主要用到了 npm 中的 underscore 包, 需要提前安装
首先创建一个makeUpSql.js文件, 然后将下面代码复制下
接着在主文件index.js中require(‘./makeUpSql’), 引入次文件便可以使用。
删除操作目前还没添加
接着我们可以npm install mysql 安装mysql模块,
在mysql中connction.query();中使用此构造函数
大家可以通过这个随意组合简单的mysql语句
首先创建一个makeUpSql.js文件, 然后将下面代码复制下
var u = require('underscore'); /*插入单行*/ module.exports = class makeUpSql { insert(data, tbName){ this.sql = `INSERT INTO ${tbName}(`; u.map(data, (v, k) => { this.sql += k + ','; }); this.sql = this.sql.substr(0, this.sql.length - 1) + ") VALUES ('"; u.each(data, (v) => { this.sql += v + "','"; }) this.sql = this.sql.substr(0, this.sql.length - 2) + ")"; return this; } update(data, tbName){ this.where_count = 0; this.sql = `UPDATE ${tbName} SET `; u.map(data, (v, k) => { this.sql += k + "='" + v + "',"; }) this.sql = this.sql.substr(0, this.sql.length - 1); return this; } where(left, right = null){ if(this.where_count == 0) { if(u.isNull(right)){ this.sql += "WHERE '" + left + "'"; this.where_count++; } this.sql += " WHERE " + left + "='" + right + "'"; this.where_count++; } else { if(u.isNull(right)){ this.sql += ' AND ' + "'" + left + "'"; } else{ this.sql += ' AND ' + left + '=' + "'" + right + "'"; } this.where_count++ ; } return this; } select(fields){ this.where_count = 0; this.sql = `SELECT ${fields}`; return this; } from(tbName){ this.sql += ' FROM ' + tbName; return this; } limit(start, length){ this.sql += ' LIMIT ' + start + ',' + length; return this; } orderBy(condition){ this.sql += " ORDER BY " + condition; return this; } result(){ return this.sql; } }
接着在主文件index.js中require(‘./makeUpSql’), 引入次文件便可以使用。
var makeUpSql = new (require('./makeUpSql')); //数据库构造函数使用例子 ## 插入## makeUpSql.insert(data, tbName).result(); //data:{'name': 'hello world', 'age': '17', ...}data为对象键值对, name:字段, hello world为值等. tbName: 表名称。 ## 查询 ## makeUpSql.select('*').from('tbName').where('x', 3).where('y',4).orderBy('id DESC').limit(0, 10).result(); //生成如下代码: SELECT * FROM tbName WHERE x='3' AND y='4' ORDER BY id DESC LIMIT 0, 10; ## 更新 ## makeUpSql.update(data, tbName).where('x', 3).result(); ///data:{'name': 'hello world', 'age': '17', ...}data为对象键值对: UPDATE tbName SET name='hello world', age='17' WHERE x=3 ;
删除操作目前还没添加
接着我们可以npm install mysql 安装mysql模块,
在mysql中connction.query();中使用此构造函数
var mysql = require('mysql'); connection = mysql.createConnection({ host : 127.0.0.1 user : 'test', password : 'test', database : 'database', }); connection.connect(); var sql = makeUpSql.select('*').from('tbName').where('x', 3).where('y',4).orderBy('id DESC').result(); connection.query(sql, function(err, rows) { ... return rows; //获取数据库中的相应数据 });
大家可以通过这个随意组合简单的mysql语句
相关文章推荐
- node.js 一个简单的页面输出实现代码
- 用node.js实现简单的web服务器
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- node.js 一个简单的页面输出实现代码
- Node.js创建http服务器简单实现
- node.js 一个简单的页面输出实现代码
- node.js实现提交简单的form表单
- node.js 实现一个简单的登录拦截器
- Node.js实现简单代理服务器
- node.js 学习笔记003 :使用superagent和cheerio实现简单网页爬虫
- Node.js 实现简单的接口服务器
- Node.js实现简单聊天服务器
- node.js开发之使用mongoose实现简单的CRUD
- 使用Node.js Net 模块实现简单的chat room
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- Node.js简单介绍并实现一个简单的Web MVC框架
- 使用Node.js实现一个简单的FastCGI服务器实例
- Node.js实现简单聊天服务器
- nodejs+ajax实现简单的文件上传功能
- 对nodejs express 框架的简单封装实现快速开发