Node连接mysql数据库
-
打开创建项目目录:
express myproject
-
切换到项目目录:
cd .\myproject\
-
下载扩展包:
npm install
-
启动:
npm start
二:连接数据库:
-
删去bin目录:在app.js中改写一下就好。
-
在app.js中加入改写内容
//头部加入: var http=require('http'); var server=http.createServer(app); //尾部删去module.exports=app,并监听一下当前端口 server.listen('3000');
-
安装mysql:
npm install mysql --save
-
打开mysql创建一个表,我这里是直接创建database:login,teble:user。
-
在项目目录新建一个文件夹‘util’,并新建dbconfig.js连接数据库
//引用数据库: const mysql=require('mysql'); //直接暴露数据库配置 module.exports={ //数据库配置: config:{ host:'localhost', port:'3306', user:'root', password:'', database:'login' } //连接数据库,使用mysql连接池连接 //连接池的对象 sqlConnect:function(sql,sqlArr,callBack){ var pool=mysql.createPool(this.config); pool.getConnect((err,conn)=>{ console.log("123"); if(err){ console.log("连接失败"); return; } //事件驱动回调 conn.query(sql,sqlArr,callBack); //释放连接: conn.release(); }) } } const config={ }
-
测试一下是否连接成功:
//在routes/index.js下 router.get('/', function(req, res, next) { //res.render('index', { title: 'Express' }); var sql="select * from user" var sqlArr=[]; var callBack=(err,data)=>{ if(err){ console.log('连接出错'); } else{ //成功的话返回一个数据 res.send({ 'list':data }) } }; //调用写过的mysql查询方法: dbConfig.sqlConnect(sql,sqlArr,callBack); }); module.exports = router;
-
包装分类:将index.js中的代码封装到control.js中
var dbConfig=require('../util/dbconfig') //获取分类: getLogin=(req,res)=>{ var sql="select * from user" var sqlArr=[]; var callBack=(err,data)=>{ if(err){ console.log('连接出错'); } else{ //成功的话返回一个数据 res.send({ 'list':data }) } }; //调用写过的mysql查询方法: dbConfig.sqlConnect(sql,sqlArr,callBack); } module.exports={ getLogin }
-
重写路由的index.js:
var express = require('express'); var router = express.Router(); var dbControl=require('../Control/dbcontrol'); /* GET home page. */ router.get('/', dbControl.getLogin); module.exports = router;
三:带参获取信息:
getLoginData=(req,res)=>{ let {id}=req.query; var sql='select * from emp where EMPNO?'; var sqlArr=[id]; var callBack=(err,data)=>{ if(err){ console.log('连接出错'); } else{ //成功的话返回一个数据 res.send({ 'list':data }) } }; //调用写过的mysql查询方法: dbConfig.sqlConnect(sql,sqlArr,callBack); }
注册一下路由:
var express = require('express'); var router = express.Router(); var dbControl=require('../Control/dbcontrol'); /* GET home page. */ router.get('/', dbControl.getLogin); router.get('/getLoginData',dbControl.getLoginData); module.exports = router;
打开postman测试: