首先我们先安装需要的插件 不懂用koa搭建后台请先看这篇文章 juejin.cn/post/720208…
npm i mysql --save-dev
然后创建一个utils文件夹,在里面新建mysql.js
//mysql.js
import mysql from 'mysql'
import {config} from './config'
//创建连接池
var pool = mysql.createPool({
host: config.HOST,
user: config.USERNAME,
password: config.PASSWORD,
database: config.DATABASE,
port:config.PORT
})
export function query(sql){
return new Promise((res,rej)=>{
pool.getConnection(function(err,connection){
if(err){
rej(err)
}else{
connection.query(sql,(err,rows)=>{
if(err){
rej(err)
}else{
res(rows)
}
connection.release()
})
}
})
})
}
在utils文件夹中新建config.js
export const config = {
DATABASE: 'user', //数据库名称
USERNAME: 'root', //mysql用户名
PASSWORD: '12345', //mysql密码
PORT: '3306', //mysql端口号
HOST: 'localhost' //服务器ip
}
然后在user.js文件夹中编写sql语句进行查询
在这里还要引入koa-body插件,方便解析请求值
npm i koa-body --save-dev
// app.js
import Koa from 'koa';
import {router} from './router/index';
import bodyparser from 'koa-body'
const app = new Koa();
app.use(bodyparser({
enableTypes: ['json', 'form', 'text'],
multipart: true,
}))
router.get('/',async(ctx)=>{
ctx.body = {
msg:'hello world'
}
})
app.use(router.routes(), router.allowedMethods())
app.listen(3000)
console.log('服务启动')
import Router from "koa-router";
export const user = new Router();
import { query } from '../utils/mysql'
user.post('/login',async(ctx,next)=>{
console.log(ctx.request.body)
const {userName,password} = ctx.request.body
const sql = `select * from user where name = '${userName}' and password = '${password}'`;
const result = await query(sql);
console.log(result)
ctx.body= {
code:'200',
msg:'登录成功'
}
})
整个文件的目录