Koa 数据库

Mysql 封装

我们想让项目能够支持 mysql,通过我们之前学习过的 Mysql 章节,我们做一个封装。

// utils/mysql.js
const mysql = require('mysql')
let pools = {}
let query = (sql,callback, host = '127.0.0.1') => {
    if (!pools.hasOwnProperty(host)) {
        pools[host] = mysql.createPool({
            host: host,
            port: '3306',
            user: 'root',
            password: ''

        })
    }
    pools[host].getConnection((err, connection) => {
        connection.query(sql, (err, results) => {
            callback(err, results)
            connection.release()
        })
    })
}

module.exports = query

这样的一些 工具性 的东西,我们单独的分开出来,放在一个 utils 目录中,然后通过 ctx 关联起来。


访问数据库

/*
 通过一个中间件,把所有的工具关联起来
*/
app.use(async (ctx, next) => {
  ctx.util = {
    mysql: require('./utils/mysql')
  }
    await next()
})

// 操作数据库
app.use(async (ctx, next) => {
  ctx.util.mysql('select * from dbname.dbtable', function(err, results) {
    console.log(results)
  })
  await next()
})
Koa 教程 Koa 入门 Koa HTTP Koa 开发框架 Koa 路由 Koa 静态文件 Koa bodyparser Koa 视图 Koa 数据库 Koa 记录日志
更多教程 HTML5 教程 CSS3 教程 JavaScript 教程 JQuery 教程 React.js 教程 Node.js 教程 Koa2 教程 Python 教程 Linux 教程