本文主要初步介绍如何用node连接数据库,编写接口;
后续持续更新利用node搭建后台!
1、在node(express) 项目中安装mysql
npm install mysql
2、编写接口,连接数据库,创建一个js文件
var express = require('express');
var router = express.Router();
const mysql = require('mysql'); // 引入数据库
var connection = mysql.createPool({ //创建mysql实例
host:'localhost',
port:'3306',
user:'root',
password:'',
database:'node_demo' // 数据库名称
});
connection.getConnection(function (err,connection) { // 使用连接池
if(err){
console.log('与MySQL数据库建立连接失败!');
console.log('错误信息为:' + err);
}
else{
console.log('与MsSQL数据库建立连接成功!');
}
});
连接成功,控制台会出现提示(前提是你安装了热部署)
紧接着在文件中编写接口(SQL语句)
// 查询接口
router.get('/demo', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
connection.query('SELECT * FROM student_info', function(err,result){
// resolve();
res.send(result);
});
});
// 新增接口
router.get('/demo_add', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
var name = "王五",age =20, address = "北京"
connection.query("INSERT INTO student_info VALUES('"+name+"','"+ age+"','"+address+"');", function(err,result){
if(err){
res.send("新增失败"+err);
}else {
res.send("新增成功");
}
});
});
module.exports = router;
这里需要注意,如果没有设置res.header("Access-Control-Allow-Origin", "*");
会出现跨域问题。
我们可以在浏览器中直接输入http://localhost:3000/demo
进行查看查询接口, http://localhost:3000/demo_add进行执行新增接口,新增接口执行完毕后,可以再切换至http://localhost:3000/demo,你会发现数据增多了。
3、在前端vue项目中进行对接口
import axios from 'axios'
export default {
name: "Demo01",
mounted(){
axios.get('http://localhost:3000/demo')
.then(e => {
console.log(e,'ggggggggggggg')
})
.catch(err => {
console.log(err)
})
},
}
如果接口文件比较多,可以将mysql连接池写进公共得文件中,这样就不用每个接口文件中都要写一次连接池
然后去相应接口文件中引入
const connection = require('../db/database')