index.js 650 B

123456789101112131415161718192021222324252627
  1. import { createPool } from 'mysql2/promise';
  2. import { DB_CONFIG } from '../app.config.mjs';
  3. const pool = createPool(DB_CONFIG);
  4. export async function query(sql, values) {
  5. try {
  6. let [res] = await pool.query(sql, values);
  7. return res;
  8. } catch (error) {
  9. console.log('====', error);
  10. return Promise.reject(false);
  11. }
  12. }
  13. // 定义一个数据库的中间件:作用使得每个中间件函数的ctx对象都可以具有query方法
  14. export function DBMiddleware(
  15. { queryname } = {
  16. queryname: 'execute',
  17. }
  18. ) {
  19. return async (ctx, next) => {
  20. ctx.app.context[queryname] = query;
  21. await next();
  22. };
  23. }
  24. export default pool;