工程实践
node+koa 如何连接数据库
const Koa = require('koa'); const app = new Koa(); const mysql = require('mysql'); // mysql配置相关 const config = { host: '127.0.0.1', user: 'root', password: '123'
const Koa = require('koa'); const app = new Koa(); const mysql = require('mysql'); // mysql配置相关 const config = { host: '127.0.0.1', user: 'root', password: '123'
const Koa = require('koa');
const app = new Koa();
const mysql = require('mysql');
// mysql配置相关
const config = {
host: '127.0.0.1',
user: 'root',
password: '123',
database: 'my_vue_blog',
connectionLimit: 10
};
// 创建连接池
const pool = mysql.createPool({
host: config.host,
user: config.user,
password: config.password,
database: config.database,
connectionLimit: config.connectionLimit
});
// 执行query语句
let query = (sql, values) => {
return new Promise((resolve, reject) => {
pool.getConnection((err, connection) => {
if (err) {
reject(err);
} else {
connection.query(sql, values, (err, rows) => {
connection.release();
if (err) {
return reject(err);
} else {
return resolve(rows);
}
});
}
});
});
};
// 装载中间件,挂在上下文的execSql上
app.use(async (ctx, next) => {
ctx.execSql = query;
await next();
});
// 执行sql语句
app.use(async (ctx) => {
let result = await ctx.execSql(`show databases`);
ctx.body = {
result
};
});
app.listen(1111);
暂无评论
确认操作
请再次确认编辑图片
待上传图片 (剩余 0 张)
项目详情
确认评论邮箱
邀请制评论