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,在终端查看结果如下:

  • 相关阅读:
    异常处理
    组合,封装
    自我介绍
    27python更多实例
    28python类代码编写细节
    29python运算符重载
    30python 类的设计
    31python类的高级主题
    32python异常基础
    33python异常编码细节
  • 原文地址:https://www.cnblogs.com/eczhou/p/7845529.html
Copyright © 2011-2022 走看看