express +node 实现登录mysql数据库

首先,创建一个新的express项目,然后在项目下新建一个文件夹DB,在DB中新建一个文件DBConfig.js

module.exports =
 {  
    mysql: {   
        host: '127.0.0.1',     
        user: 'root',   
        password: '****',  
        database:'****',  
        port: 3306  
    }
 };

之后在主文件ConnectDB.js中进行数据库连接

var express = require('express');
var router = express.Router();
// 导入MySQL模块
var mysql = require('mysql');
var dbConfig = require('../DB/DBConfig');
var SQL = require('../DB/DBsql');
// 使用DBConfig.js的配置信息创建一个MySQL连接池
var pool = mysql.createPool( dbConfig.mysql );

router.post('/status/block', function(req, res, next){
    // 从连接池获取连接 
    pool.getConnection(function(err, connection) {
        res.header("Access-Control-Allow-Origin", "*");
        var param =  req.body;  // 获取前台页面传过来的参数
        var ids = param.id;
        var TABLE_NAME = 'uxdata';
        var condition="where `id`='"+ids[0]+"' ";
        for(let i=1;i<ids.length;i++){
            condition+=(" or `id`= '"+ids[i]+"'");
        }
        var sql = "UPDATE "+TABLE_NAME+" SET `status` = '"+param.setStatus +"' "+condition;
        connection.query(sql, function(err, result) {  
            // 以json形式,把操作结果返回给前台页面
            responseJSON(res, result);
            // 释放连接  
            connection.release();
        });
    });
});

上面是我个人的数据库查询情况,应根据自己的数据库内容进行修改。express中是创建了应该数据库的连接池,然后每次需要连接数据库时,调用连接池的getConnection方法进行连接,对数据库内容进行操作,可采用query方法进行。

测试部分代码:

$(document).ready(function(){
    
    var startDate = new Date();
    startDate.setDate(startDate.getDate()-365);
    startDate = startDate.Format("yyyy-MM-dd");
    var endDate = new Date().Format("yyyy-MM-dd");
  $("button").click(function(){
    $.post("http://127.0.0.1:3000/list/delete",
    {
      page:1, 
      pageSize:5,
      startDate:startDate,
      endDate:endDate,
      srcName:{
            state0:false,
            state1:false,
            state2:true,
            state3:true,
            state4:false,
            state5:true,
      },
      // id:3,
      setStatus:6,
      // type:"version",
      // orderBy:"DESC"
      prodline:1,
      id:[1,3]
    },
    function(data,status){
      alert("数据:" + (JSON.stringify(data)) + "
状态:" + status);
    });
  });
});

Fromat之前的随笔有记录。

原文地址:https://www.cnblogs.com/pfr-blog/p/7217966.html