zoukankan      html  css  js  c++  java
  • 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之前的随笔有记录。

  • 相关阅读:
    使用 Anthem.NET 的经验小结
    使用 Anthem.NET 的常见回调(Callback)处理方式小结
    Anthem.NET 的回调流程图
    客户端调用服务器端方法——ASP.NET AJAX(Atlas)、Anthem.NET和Ajax.NET Professional实现之小小比较
    ASP.NET AJAX(Atlas)和Anthem.NET——管中窥豹般小小比较
    使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
    Access中一句查询代码实现Excel数据导入导出
    Access中复制表
    tensorflow kmeans 聚类
    tensorflow knn mnist
  • 原文地址:https://www.cnblogs.com/pfr-blog/p/7217966.html
Copyright © 2011-2022 走看看