12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- //https://github.com/mysqljs/mysql#readme
- var mysql = require('mysql');
- var bcrypt = require('bcryptjs');
- //获取数据库配置
- var config = require('../configs/config').mysql_dev;
- //使用连接池
- var pool = mysql.createPool(config);
- //SESSION_SECRET
- var sessionSECRET = process.env.SESSION_SECRET || "faFJDSLNFFJLsEknnqWSDlweifsNIW";
- console.log(sessionSECRET);
- //公共连接设置
- var commonFormat = function(callback) {
- pool.getConnection(function(err, connection) {
- //console.log(callback);
- //自定义参数匹配设置
- connection.config.queryFormat = function(query, values) {
- if (!values) return query;
- return query.replace(/\:(\w+)/g, function(txt, key) {
- if (values.hasOwnProperty(key)) {
- return this.escape(values[key]);
- }
- return txt;
- }.bind(this));
- };
- callback && callback(err, connection);
- });
- };
- //存储
- module.exports = {
- //添加/修改数据
- set: function(params) {
- var password = '12345' + sessionSECRET;
- var salt = bcrypt.genSaltSync(10);
- var hash = bcrypt.hashSync(password, salt);
- console.log(hash);
- console.log(bcrypt.compareSync(password + 'x', hash));
- // var sql = 'select 1+1 as test';
- // pool.query(sql, function(err, rows, fields) {
- // console.log(err);
- // console.log(rows);
- // console.log(fields);
- // });
- var sql = 'select MD5("123456") as calc';
- // commonFormat(function(err, connection) {
- // connection.query(sql, { id: 1 + 1 }, function(err, rows) {
- // //console.log(err);
- // console.log(rows);
- // console.log(rows.length)
- // });
- // });
- },
- //获取数据
- get: function(key) {
- },
- //删除数据
- del: function(key) {
- },
- //事务
- transaction: function(params) {
- commonFormat(function(err, connection) {
- //Transaction Begin
- connection.beginTransaction(function(err) {
- if (err) throw err;
- var keys = [];
- var vals = [];
- connection.query('insert into :table(' + keys.join(',') + ') values(' + vals.join(',') + ') ', params, function(err, result) {
- if (err) {
- return connection.rollback(function() {
- throw err;
- });
- }
- var insertId = result.insertId;
- //Transaction Next
- connection.query('insert into :table(' + keys.join(',') + ') values(' + vals.join(',') + ')', params, function(err, result) {
- if (err) {
- return connection.rollback(function() {
- throw err;
- });
- }
- //Transaction Commit
- connection.commit(function(err) {
- if (err) {
- return connection.rollback(function() {
- throw err;
- });
- }
- console.log('Transaction Success!');
- });
- });
- });
- });
- });
- }
- };
|