如何用koa连接mysql数据库

1,882 阅读1分钟

首先我们先安装需要的插件 不懂用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:'登录成功'
    }
})

7777777777777777777.jpg

请31312321.jpg

整个文件的目录

34242343224.jpg