Node.js + Express 连接 Mysql 数据库

Node.js + Express 连接 Mysql 数据库

1、目录结构

Node.js + Express 连接 Mysql 数据库_第1张图片

2、先在根目录下创建 db.config.js 和 db.js 文件
2.1 、db.config.js 配置数据库的信息,导出一个模块信息
module.exports = {
    host: 'localhost', //数据库地址 列如线上数据库地址:xxx.xx.xx.x
    port: '3000',//端口号
    user: 'root',//用户名
    password: '123',//密码
    database: 'app'//数据库名称
  }
2.2 、db.js 配置连接数据库的信息,导出一个模块信息
const mysql = require('mysql');
const dbConfig = require('./db.config'); 


module.exports = {
    query : function(sql,params,callback){
        //每次使用的时候需要创建链接,数据操作完成之后要关闭连接
        const connection = mysql.createConnection(dbConfig);        
        connection.connect(function(err){
            if(err){
                console.log('mysql数据库链接失败');
                throw err;
            }
         //开始数据操作
        connection.query( sql, params, function(err,results,fields ){
           if(err){
                console.log('mysql数据操作失败');
                throw err;
            }
            //将查询出来的数据返回给回调函数,这个时候就没有必要使用错误前置的思想了,因为我们在这个文件中已经对错误进行了处理,如果数据检索报错,直接就会阻塞到这个文件中
            callback && callback(JSON.parse(JSON.stringify(results)), JSON.parse(JSON.stringify(fields)));
            //results作为数据操作后的结果,fields作为数据库连接的一些字段,大家可以打印到控制台观察一下
                //停止链接数据库,必须再查询语句后,要不然一调用这个方法,就直接停止链接,数据操作就会失败
             connection.end(function(err){
                  if(err){
                      console.log('mysql关闭数据库连接失败!');
                      throw err;
                  }
              });
           });
       });
    }
};
3、在 route > index.js 下面
var express = require('express');
var router = express.Router();
const { userLoginServe
} = require('../service/users/index')
/* GET users listing. */
router.get('/', async function(req, res, next) {
  res.send(await userLoginServe())
});

module.exports = router;

4、在 service > users > index.js 下面
const {
    userLoginDao
} = require('../../dao/users/usersDao.js')



//用户登录
module.exports.userLoginServe = async function (obj) {
    return await userLoginDao(obj);
}
5、在 dao > users > usersDao.js 下面

const db = require("../../db"); //引入数据库封装模块

//login
module.exports.userLoginDao=async function(obj){
   //查询users表
  db.query("SELECT * FROM tablename",[],function(results,fields){
    console.log(results);
    
    return JSON.stringify(results)
  })
}

总结:然后就连接成功啦,我的目录结构是为了处理数据创建的,要是想要简单的连接,可以就写在一个文件里面,如果小伙伴们按照我这个来的话,就需要先创建下文件,有什么问题,随时联系博主哦

你可能感兴趣的:(前端,node.js,mysql,node.js,前端,mysql)