• nodeJS连接mysql数据库的增删改查接口


    首先,确保已在项目中安装了 mysql 模块(可以使用 npm install mysql 命令进行安装)。

    1. const mysql = require('mysql');
    2. // 创建数据库连接池
    3. const pool = mysql.createPool({
    4. host: '数据库主机名',
    5. user: '数据库用户名',
    6. password: '数据库密码',
    7. database: '数据库名',
    8. connectionLimit: 10 // 可选设置连接数限制
    9. });
    10. // 查询数据
    11. function queryData(sql, params, callback) {
    12. pool.getConnection((err, connection) => {
    13. if (err) {
    14. console.error('获取数据库连接失败:', err);
    15. callback(err, null);
    16. return;
    17. }
    18. // 执行查询语句
    19. connection.query(sql, params, (error, results) => {
    20. // 释放连接
    21. connection.release();
    22. if (error) {
    23. console.error('查询数据出错:', error);
    24. callback(error, null);
    25. return;
    26. }
    27. callback(null, results);
    28. });
    29. });
    30. }
    31. // 插入数据
    32. function insertData(sql, params, callback) {
    33. pool.getConnection((err, connection) => {
    34. if (err) {
    35. console.error('获取数据库连接失败:', err);
    36. callback(err, null);
    37. return;
    38. }
    39. // 执行插入语句
    40. connection.query(sql, params, (error, results) => {
    41. // 释放连接
    42. connection.release();
    43. if (error) {
    44. console.error('插入数据出错:', error);
    45. callback(error, null);
    46. return;
    47. }
    48. callback(null, results);
    49. });
    50. });
    51. }
    52. // 更新数据
    53. function updateData(sql, params, callback) {
    54. pool.getConnection((err, connection) => {
    55. if (err) {
    56. console.error('获取数据库连接失败:', err);
    57. callback(err, null);
    58. return;
    59. }
    60. // 执行更新语句
    61. connection.query(sql, params, (error, results) => {
    62. // 释放连接
    63. connection.release();
    64. if (error) {
    65. console.error('更新数据出错:', error);
    66. callback(error, null);
    67. return;
    68. }
    69. callback(null, results);
    70. });
    71. });
    72. }
    73. // 删除数据
    74. function deleteData(sql, params, callback) {
    75. pool.getConnection((err, connection) => {
    76. if (err) {
    77. console.error('获取数据库连接失败:', err);
    78. callback(err, null);
    79. return;
    80. }
    81. // 执行删除语句
    82. connection.query(sql, params, (error, results) => {
    83. // 释放连接
    84. connection.release();
    85. if (error) {
    86. console.error('删除数据出错:', error);
    87. callback(error, null);
    88. return;
    89. }
    90. callback(null, results);
    91. });
    92. });
    93. }
    94. module.exports = {
    95. queryData,
    96. insertData,
    97. updateData,
    98. deleteData
    99. };

    通过上述代码,你可以创建一个 db.js 文件来封装数据库操作,并在其他文件中引入并使用这些方法。例如,在另一个文件中编写一个 Express 接口:

    1. const express = require('express');
    2. const app = express();
    3. const db = require('./db'); // 引入封装的数据库操作
    4. app.get('/users', (req, res) => {
    5. const sql = 'SELECT * FROM users';
    6. db.queryData(sql, [], (error, results) => {
    7. if (error) {
    8. // 处理错误
    9. return res.status(500).json({ error: '查询数据出错' });
    10. }
    11. // 返回结果
    12. res.json(results);
    13. });
    14. });
    15. app.post('/users', (req, res) => {
    16. const { name, age } = req.body;
    17. const sql = 'INSERT INTO users (name, age) VALUES (?, ?)';
    18. db.insertData(sql, [name, age], (error, results) => {
    19. if (error) {
    20. // 处理错误
    21. return res.status(500).json({ error: '插入数据出错' });
    22. }
    23. // 返回结果
    24. res.json({ message: '插入成功' });
    25. });
    26. });
    27. // 其他接口逻辑...
    28. app.listen(8080, () => {
    29. console.log('Server is running on port 8080');
    30. });

     

  • 相关阅读:
    如何提高外贸独立站流量?
    SpringCloud - 项目组织架构如何搭建
    基于ARM+FPGA的ISA总线/MMи总线接口转换设计在轨道交通的应用
    Redis之sorted set 命令
    【STL】用一棵红黑树封装map和set
    (JavaSE)图书管理系统(简易版)
    Spring 源码(7)Spring的注解是如何解析的?
    mysql数据库基础:视图、变量
    【软考设计师】【计算机系统】E02 原、反、补、移码
    Revit插件的“精准管线”“洞口定位”功能介绍
  • 原文地址:https://blog.csdn.net/weixin_45932821/article/details/132764217