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

  • 相关阅读:
    RFID之linux下利用PN532对M1卡(饭卡,
    Ubuntu server配置远程VNC服务
    如何在Linux命令行中剪裁图像
    CentOS 6.3 yum安装LAMP(Apache+MySQL+PHP)
    ubuntu16.04 安装Opencv 3.1.0 import cv2 报错ImportError: No module named hdf5
    ubuntu16.04 安装Opencv 3.1.0 fatal error: hdf5.h: 没有那个文件或目录
    通过子网掩码确定主机地址
    单调数据结构
    利用Python分析羊车门问题
    Welcome To My Blog!!!
  • 原文地址:https://www.cnblogs.com/eczhou/p/7845529.html
Copyright © 2011-2022 走看看