zoukankan      html  css  js  c++  java
  • NodeJs针对Express框架配置Mysql进行数据库操作

    Express版本:4.14.1

    说明:如下配置以express为例进行配置并进行测试,当然mysql中间件也可以在nodejs中单独使用。

    参考:NodeJs的Mysql中间件Github地址

    1、首先进行mysql中间件安装

    npm install mysql --save

    2、创建数据库连接模块db.js,存放于express框架model(自己创建的)文件夹下:

    let mysql = require('mysql');
    let db = {}
    
    //插入操作,注意使用异步返回查询结果
    db.insert = function(connection, sql, paras, callback){
        connection.query(sql, paras, function (error, results, fields) {
            if (error) throw error;
            callback(results.insertId);//返回插入的id
        });
    }
    
    //关闭数据库
    db.close = function(connection){
        //关闭连接
        connection.end(function(err){
            if(err){
                return;
            }else{
                console.log('关闭连接');
            }
        });
    }
    
    //获取数据库连接
    db.connection = function(){
        //数据库配置
        let connection = mysql.createConnection({
            host:'localhost',
            user:'root',
            password:'',
            database:'tpanalysis',
            port:3306
        });
        //数据库连接
        connection.connect(function(err){
            if(err){
                console.log(err);
                return;
            }
        });
        return connection;
    }
    module.exports = db;

    3、新建测试表project

    4、进行查询测试:

    let express = require('express');
    let router = express.Router();
    let db = require('./db'); 
    //插入测试
    router.get('/dbtest',function(req, res){
        let project = {project_name: 'test', create_time: '2017-03-28 14:09:29'};
        let sqlString = 'INSERT INTO project SET ?';
        let connection = db.connection();
        db.insert(connection, sqlString, project, function(id){
            console.log('inserted id is:' + id);
        });
        db.close(connection);
        return;
    });

    函数执行注意使用异步调用,此例中如果不使用异步,可能还没获得插入的id,就已经提前执行下面的代码了。

    5、用命令npm start启用express,调用http://localhost:3000/dbtest,在终端查看结果如下:

  • 相关阅读:
    windows下用Python把pdf文件转化为图片(png格式)
    SQL优化实战:外层查询条件放到内层查询中(predicate push down)
    SQL优化实战:临时表+分批提交+按日结存
    SQL优化:重新编译存储过程和表
    论坛中的问题:47 数据库的事务是100%的吗?
    代理模式
    建造者模式
    工厂模式
    面向对向设计
    单例设计模式
  • 原文地址:https://www.cnblogs.com/eczhou/p/7845529.html
Copyright © 2011-2022 走看看