express链接mysql, 用数据库连接池管理链接
1、在API的开发当中,数据库的处理显得尤为重要,express 工程 链接mysql数据库有很好的模板可以借鉴。
1.1 创建数据库链接
新建一个DB目录,在DB目录下新建文件 db.js
内容如下
/** * Created by wjw on 2018/10/13. */ //db.js // connect mySql var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit: 10, host: 'localhost', user: 'root', password: '0', database: 'testForApi' }); function query(sql, values, callback) { console.log("db pool"); pool.getConnection(function (err, connection) { if(err) throw err; console.log("get connection "); //Use the connection connection.query(sql, values,function (err, results, fields) { console.log(JSON.stringify(results)); //每次查询都会 回调 callback(err, results); //只是释放链接,在缓冲池了,没有被销毁 connection.release(); if(err) throw error; }); }); } exports.query = query;
1.2新建一个关于 user 对象的sql查询管理类 userSql.js 它会被userRouter.js, api.js 等相关路由模块所引用,方便扩展.这里以 api.js 为例:
var UserSql = { insert : 'INSERT INTO User(id, userName, password) VALUES(?,?,?) ', query : 'SELECT * FROM user ', getUserById: 'SELECT * FROM user WHERE uid = ? ' }; module.exports = UserSql;
1.3在 API.js 中写一个获取 数据库中所有user 表信息的 API。
api.js 在routers 目录下。和 index.js ,user.js同级
var express = require('express'); var router = express.Router(); var db = require('../db/db'); //引入db var userSql = require('../db/userSql'); router.get("/getAllUsers", function (req, res, next) { var results = {}; db.query(userSql.query, [], function (err, rows) { results = rows; console.log("results: " + results.str); res.send(results); }); }); module.exports = router;
2、在浏览器中输入 http://localhost:3000/api/getAllUsers,可以读取数据库信息,这里只是简单的把 user表信息全部读取。
分类:
HTML5
, JavaScript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具