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

  • 相关阅读:
    C# TCP/IP 服务端 和 客户端
    (trigger)触发器的定义和作用
    AD账号登陆验证
    DES加密&解密字符串
    机器视觉(工业视觉)需要什么技能
    机器视觉对位贴合
    Halcon blob分析基本处理步骤
    cross_val_score 交叉验证与 K折交叉验证,嗯都是抄来的,自己作个参考
    50道SQL练习题及答案与详细分析(MySQL)
    MySQL8.0 ROW_NUMBER、RANK、DENSE_RANK窗口函数 分组排序排名
  • 原文地址:https://www.cnblogs.com/eczhou/p/7845529.html
Copyright © 2011-2022 走看看