nodejs的增删改查调用demo

查了很多资料都是直接使用curd的方法,都没有oop的使用方法,自己写一个

先上数据库操作类:dboperator.js



'use strict'
//引入mysql模块
var mysql = require('mysql');  
// function DB() {

var DB =function()  {
  if (this instanceof DB) {
    this.connect();
  } else {
    throw {
      error_msg: 'Please create the constructor of DB like this: "var _db = new DB();"'
    }
  }
}

DB.prototype.connect = function() {
  this.DATABASE = 'voiceinteractive';
  this.client = mysql.createConnection({  
    host: 'localhost', 
    user: 'root',  
    password: 'root',  
  });  
 
  this.client.connect();
  this.client.query("use " + this.DATABASE);
}

DB.prototype.doSelect = function(sql, callback) {
  var self = this;
  self.client.query(  
    sql,  
    function selectCb(err, results) {  
      if (err) {  
        throw err;  
      }  
      if(results && typeof callback ==='function')
      {
        callback(results);
      }    
      self.client.end();  
    }  
  ); 
}

DB.prototype.doInsert = function(sql, params, callback) {
  var self = this;
  self.client.query(
    sql, 
    params,
    function (err, results) {
      if(err){
        throw err; 
      }       
      if(results && typeof callback ==='function')
      {
        callback(results);
      }    
      self.client.end();
    }
  );
}

DB.prototype.doUpdate = function(sql, params, callback) {
  var self = this;
  self.client.query(
    sql, 
    params,
    function (err, results) {
      if(err){
        throw err; 
      }       
      if(results && typeof callback ==='function')
      {
        callback(results);
      }    
      self.client.end();
    }
  );
}

DB.prototype.doDelete = function(sql, callback) {
  var self = this;
  self.client.query(
    sql, 
    function (err, results) {
      if(err){
        throw err; 
      }       
      if(results && typeof callback ==='function')
      {
        callback(results);
      }    
      self.client.end();
    }
  );
}

//导出Student类,使其他js文件可以通过require方法类加载该Student模块
module.exports=DB;

接着上调用方法index.js



var dbOperator= require('./dboperator.js'); // 引入该类
var count=0;
var receive_content;
// you can use it anywhere
var selectUserInfo = function()
{
    try{
         var _db = new dbOperator();//实例化该类
        // _db.DB();
      // DB();
      // _db.db();
        var strSql = ' SELECT * from `vi_skill_info`   ';
       // dbCls.DB();
    //  _db.prototype.doSelect(

        _db.doSelect(
        strSql,
        function(results) 
        {
          for(var i = 0; i < results.length; i++){
           // console.log("%s\t%s\t%d", results[i].name, results[i].email, results[i].phone);
        };
            count=   results.length ;
            receive_content=results[0].vi_receive_info;
        }
      );
      _db = null;
 
    }
     catch(err)
    {
      console.log("selectUserInfo  error: "+err);
    }
  }


  selectUserInfo();
   



var http=require("http");
var url=require('url');

http.createServer(function(req,res)
{
    res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});
   // res.writeHead(200, {'Content-Type': 'text/plain'});

    res.write('

'); res.write('nodejs 搭建成功 !
'); res.write('表内数据共计:'+count+' 条'+receive_content); res.write('


'); // 解析 url 参数 var params = url.parse(req.url, true).query; res.write("网站URL:连接
" ); res.write((new Date()).Format("yyyy-MM-dd hh:mm:ss")); // 2018-08-02 21:22:07 // 终端打印如下信息 console.log('Server running at ' + receive_content); res.end(); }).listen(3000); /** * 扩展Date的Format函数 * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * @param {[type]} fmt [description] */ Date.prototype.Format = function(fmt) { //author: meizz var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }

 

你可能感兴趣的:(nodejs)