zoukankan      html  css  js  c++  java
  • node系列--【node操作数据类的封装】

    1) 一般将数据库的配置信息另存为外部模块, chyconfig.js(可命名为个人名字+config) 

    let option = {
      host: "localhost", //数据库服务器的地址
      user: "root", //管理员账号
      password: "", //账号密码
      database: "xxxx"
    }
    module.exports = option;

    2)创建数据库封装类 文件命名Chy.js

    let mysql = require("mysql");
    let option = require("./chyconfig");
    
    class Chy{
      constructor({host="localhost",user="root",password="",database=""}){
        this.option = {
          host,
          user,
          password,
          database
        }
        // 创建一个连接对象
        this.connection = mysql.createConnection(this.option);
        // 自动连接数据库
        this.connection.connect();
      }
      query(sql,arr){
        return new Promise((resolve,reject)=>{
          // 异步操作代码
          this.connection.query(sql,arr,(err,result)=>{
            if(!err){
              resolve(result);
            }else{
              reject(err);
            }
          })
        })
      }
      close(){
        this.connection.end()
      }
    }
    
    let Chy= new Chy(option);
    
    module.exports =Chy;

    此 chyconfig.js和Chy.js个文件放在tools文件下;

    使用时:

    在入口文件引入  ../tools/Chy.js

    添加响应路由,使用async...await对数据库增、删、改、查;如下:

    //删除班级信息
    router.get('/delbanji',async(req,res)=>{
      let b=await db.query("DELETE FROM `班级` WHERE id=?",[req.query.id]);
      console.log(b);
      if(b.affectedRows>0){
        res.send("<script>alert('删除"+req.query.id+"成功');window.history.go(-1)</script>")

      }else{
        res.send('删除失败,请检查参数')
        
      }

    })
  • 相关阅读:
    Struts2 helloWorld
    Python学习笔记基础汇总部分
    从控制台读入,典型的装饰者模式
    随机数产生方法小知识点
    Struts2基础知识
    面向对象原则之GOF是招式,九大原则才是精髓
    静态工厂方法
    单例模式singleton
    J2SE基础夯实系列之JDBC,链接数据库实例代码
    Ubuntu 12.04 下安装ssh 服务遇到的问题以及总结
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14702709.html
Copyright © 2011-2022 走看看