在网上看到了很多的教程,每次看到那些访问mysql的都头疼,如何映射表格乱七八糟的,大家学习node不就贪图方便么,写后台直接springboots不好么,这里提供了一个简单的又系统的访问msql的模板,欢迎大家使用
整个模板思路如下,
1.首先第一步,下载mpn模板
npm init --yes
2.下载完毕后,再下载express包(node框架),nodemon包(热更新)和mysql包(连接数据库)
npm install express --save npm install -g nodemon //全局安装 npm install mysql
3.创建三个文件夹,文件夹Router用来放路由文件,文件夹mysqlconn用来连接数据库,文件夹mapper用来对数据库发送连接请求并处理,三个文件夹分别封装三个处理
4.连接数据库文件有两个,conn.js文件用来放连接信息,index.js文件用来连接数据库并封装请求
conn文件
let connection = { host : 'localhost', user : 'root', password : '123456', database : '你的数据库名称' }; module.exports=connection;
index文件
let mysql = require('mysql');//引入mysql模块 var databaseConfig = require('./conn.js'); //引入数据库配置模块中的数据 //向外暴露方法 module.exports = { async query(sql, params) { //每次使用创建链接,数据操作完成关闭连接 var connection = mysql.createConnection(databaseConfig); return new Promise((resolve, reject) => {//返回一个Promise对象 connection.connect(async function (err) { if (err) { console.log('数据库链接失败'); throw err; } //传入三个参数,第一个参数sql语句,第二个参数sql语句中需要的数据,第三个参数回调函数 connection.query(sql, params, function (err, results, fields) { if (err) { console.log('数据操作失败'); throw err; } //停止连接数据库 connection.end(function (err) { if (err) { console.log('关闭数据库连接失败!'); throw err; } }); resolve(results) }); }) }); } };
5.封装完连接数据库的请求后,再在mapper里面编写操作数据库的请求
mapper文件
var db = require("../mysqlconn/index") var obj={ //两个简单的请求 async getcontext(id){ let data = await db.query('select id,title,context from book where id=? ', [id]); return data; }, async vaguetitle(title){ let data = await db.query('select id,title from love where book like "%'+title+'%" ', []); return data; }, } module.exports=obj;
6.在路由文件里面调用mapper文件,将连接数据库得到的数返回到前端
Router文件
const express = require('express'); const router=express.Router(); const Book=require("../mapper/bookMapper"); //获取内容get接口,用异步的方法将数据返回给前端 router.get('/getcontext', (req, res) =>{ let {id}=req.query; let p=Book.getcontext(id); p.then((data)=>{ res.send(data) }) }) //模糊标题 router.get('/vaguetitle', (req, res) =>{ let {title}=req.query; let p=Book.vaguetitle(title); p.then((data)=>{ res.send(data) }) }) module.exports=router;
7.app.js调用路由文件即可
const express = require('express'); const app = express(); const BookRouter= require('./Router/BookRouter'); app.use(BookRouter) app.listen(3001, () => { console.log(`开启成功`) })
这样一个简简单单的访问后台mysql服务器就完成了。
文章参考https://segmentfault.com/a/1190000014907972,并对其进行了改进,改为异步编程获取