微信小程序中,通过Node.js连接本地 MySQL 实现数据的增删改查

微信小程序中,通过Node.js连接本地 MySQL 实现数据的增删改查的过程,可以分为以下几个步骤:

1. 准备工作

必要工具:

  • 安装 Node.js
  • 安装 MySQL 数据库(如未安装,请自行下载安装并配置)
  • 确保小程序开发工具已安装

2. 搭建 Node.js 后端服务

安装依赖

在 Node.js 项目中,使用 npm init 初始化项目,并安装以下依赖:

npm install express mysql cors body-parser

express: 用于搭建 Web 服务。

mysql: 用于连接和操作 MySQL 数据库。

cors: 用于解决跨域问题。

body-parser: 用于解析 POST 请求的数据。

创建数据库表

在 MySQL 中创建一个测试数据库和表:

CREATE DATABASE test_db;

USE test_db;

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    age INT,
    email VARCHAR(100)
);

编写 Node.js 代码

创建一个 index.js 文件:

const express = require('express');
const mysql = require('mysql');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
const port = 3000;

// 中间件
app.use(cors());
app.use(bodyParser.json());

// 配置 MySQL 数据库
const db = mysql.createConnection({
    host: 'localhost',
    user: 'root', // 替换为你的 MySQL 用户名
    password: 'password', // 替换为你的 MySQL 密码
    database: 'test_db',
});

// 连接数据库
db.connect((err) => {
    if (err) {
        console.error('数据库连接失败:', err);
        return;
    }
    console.log('数据库连接成功');
});

// 增删改查接口
// 查询数据
app.get('/users', (req, res) => {
    const sql = 'SELECT * FROM users';
    db.query(sql, (err, results) => {
        if (err) {
            res.status(500).send(err);
        } else {
            res.json(results);
        }
    });
});

// 添加数据
app.post('/users', (req, res) => {
    const { name, age, email } = req.body;
    const sql = 'INSERT INTO users (name, age, email) VALUES (?, ?, ?)';
    db.query(sql, [name, age, email], (err, result) => {
        if (err) {
            res.status(500).send(err);
        } else {
            res.json({ id: result.insertId });
        }
    });
});

// 修改数据
app.put('/users/:id', (req, res) => {
    const { id } = req.params;
    const { name, age, email } = req.body;
    const sql = 'UPDATE users SET name = ?, age = ?, email = ? WHERE id = ?';
    db.query(sql, [name, age, email, id], (err, result) => {
        if (err) {
            res.status(500).send(err);
        } else {
            res.json(result);
        }
    });
});

// 删除数据
app.delete('/users/:id', (req, res) => {
    const { id } = req.params;
    const sql = 'DELETE FROM users WHERE id = ?';
    db.query(sql, [id], (err, result) => {
        if (err) {
            res.status(500).send(err);
        } else {
            res.json(result);
        }
    });
});

// 启动服务
app.listen(port, () => {
    console.log(`服务运行在 http://localhost:${port}`);
});

3. 微信小程序端请求接口

配置请求域名

在微信开发者工具中,进入 “详情” -> “本地设置”,将本地服务 http://localhost:3000 配置为合法请求域名。

在小程序中调用 API

在小程序页面中,编写以下代码以完成数据交互。

示例代码:

// 查询数据
wx.request({
  url: 'http://localhost:3000/users',
  method: 'GET',
  success(res) {
    console.log('查询成功:', res.data);
  },
  fail(err) {
    console.error('查询失败:', err);
  }
});

// 添加数据
wx.request({
  url: 'http://localhost:3000/users',
  method: 'POST',
  data: {
    name: '张三',
    age: 25,
    email: 'zhangsan@example.com',
  },
  success(res) {
    console.log('添加成功:', res.data);
  },
  fail(err) {
    console.error('添加失败:', err);
  }
});

// 修改数据
wx.request({
  url: 'http://localhost:3000/users/1',
  method: 'PUT',
  data: {
    name: '李四',
    age: 26,
    email: 'lisi@example.com',
  },
  success(res) {
    console.log('修改成功:', res.data);
  },
  fail(err) {
    console.error('修改失败:', err);
  }
});

// 删除数据
wx.request({
  url: 'http://localhost:3000/users/1',
  method: 'DELETE',
  success(res) {
    console.log('删除成功:', res.data);
  },
  fail(err) {
    console.error('删除失败:', err);
  }
});

4. 注意事项

  1. 跨域问题:本示例已通过 cors 解决跨域问题。如果有其他跨域需求,可根据实际情况调整。
  2. 数据库配置:确保数据库的用户名、密码、端口配置正确。
  3. 接口安全:生产环境中需要增加身份验证(如 JWT)、数据校验等安全措施。
  4. 环境配置:在正式环境中,建议使用 HTTPS 并部署到服务器上。

这样,小程序通过 Node.js 和 MySQL 实现增删改查功能就完成了!

发布者:myrgd,转载请注明出处:https://www.object-c.cn/5143

Like (0)
Previous 2024年12月8日 上午11:34
Next 2024年12月9日 下午8:14

相关推荐

  • 在 uni-app 小程序中,使用 uni.getLocation 获取用户位置信息等

    在 uni-app 小程序 中,使用 uni.getLocation 获取用户位置后,可以通过 腾讯地图 API 将经纬度转化为详细的地址信息(如省、市、区、街道等)。以下是完整的操作流程: 1. 前置准备:开通腾讯地图 API 服务注册腾讯位置服务账号:登录 腾讯位置服务官网。创建项目并获取 Key:进入 控制台,创建新应用,选择 小程序。获取生成的 ke…

    2024年11月26日
    00
  • Python安装与环境配置的详细讲解

    在本文中,我们将详细介绍 Python 的安装及环境配置过程。无论你是 Windows、macOS 还是 Linux 用户,都能根据本教程成功安装 Python 并配置开发环境。 1. 安装 Python(Windows、macOS、Linux) (1) Windows 安装 Python 或 安装 pip: 安装和配置虚拟环境(可选): 激活虚拟环境: (…

    2024年11月23日
    00
  • Docker快速部署Nginx、Redis、MySQL、Tomcat以及制作镜像方法

    使用 Docker 快速部署 Nginx、Redis、MySQL、Tomcat 以及制作镜像 通过 Docker,开发者可以快速部署和管理各种服务。本文介绍如何快速使用 Docker 部署 Nginx、Redis、MySQL 和 Tomcat,以及如何制作自定义镜像。 1. Docker 基础准备 安装 Docker 如果还未安装 Docker,可按照以下步…

    2024年11月26日
    00
  • 理解 HTML、HTML5 和 “H5” 区别的重要性

    HTML & HTML5 & H5 的区别在构建现代网页时,理解 HTML、HTML5 和 “H5” 的区别是非常重要的。以下是它们的概念和主要区别: 1. HTML(超文本标记语言)定义HTML 是 HyperText Markup Language 的缩写,即超文本标记语言,用于定义网页内容的结构和含义。特性提供基…

    2024年12月2日
    00
  • 使用 VS Code 管理 Git 仓库详细使用指南

    使用 VS Code 管理 Git 仓库,可以通过其直观的图形界面和终端功能完成常见的版本控制操作,如克隆、提交、分支管理等。以下是一个详细的使用指南,帮助你高效地使用 VS Code 和 Git。 1. 环境准备安装必要工具安装 Git:从 Git 官网 下载并安装。安装 VS Code:从 VS Code 官网 下载并安装。安装 Git 插件(可选):在…

    2024年11月30日
    00
  • 远程仓库 ,从GitHub拉取代码失败的解决办法

    从GitHub拉取代码失败通常由以下几种原因引起:网络问题、认证失败、远程仓库配置错误等。以下是常见的失败场景及解决办法。 1. 网络问题症状连接超时。报错如:fatal: unable to access ‘https://github.com/…’: Failed to connect to github.com port 443: Connecti…

    2024年11月28日
    00
  • 微信小程序开发中使用 Tailwind CSS 提高开发效率和代码的可维护性

    Tailwind CSS 是一个利用原子化 CSS 类来构建用户界面的框架,在微信小程序开发中使用 Tailwind CSS 可以提高开发效率和代码的可维护性。以下是在微信小程序中使用 Tailwind CSS 进行原子 CSS 开发的具体步骤: 安装 Tailwind CSS 配置 Tailwind CSS 引入样式:在微信小程序的全局样式文件app.wx…

    2024年12月15日
    00
  • pywebview 页面请求数据总是报错:TypeError: Cannot read properties of undefined (reading ‘api’)

    pywebview 中的 TypeError: Cannot read properties of undefined (reading ‘api’) 错误通常意味着 JavaScript 代码试图访问一个未定义的对象或属性(如 api)。这种问题通常出现在 Python 与前端 JavaScript 交互时,可能是由于以下原因:可能的原因及解决方法:Jav…

    2024年11月27日
    00
  • 实现“鼠标点击器外挂”,模拟快速点击或者自动化点击的工具

    实现一个“鼠标点击器外挂”,通常是指模拟快速点击或者自动化点击的工具。以下是一个实现的基本思路和代码示例,适合用于演示或学习目的。 功能描述自动模拟鼠标点击(单击或双击)。用户可以设置点击间隔和总点击次数。提供启动和停止按钮,方便控制。 示例实现HTML CSS (style.css) JavaScript (script.js) 功能实现说明用户输入:用户…

    2024年11月30日
    00
  • uni-app 中的一个 API,uni.getLocation用于获取用户的地理位置信息

    uni.getLocation 是 uni-app 中的一个 API,用于获取用户的地理位置信息。它可以通过 GPS 或网络方式获取当前位置,并提供包括经纬度、速度、精度等信息。这个 API 在移动端(如安卓、iOS)和 H5 平台上均可使用。基本语法 参数说明type(可选):指定位置的坐标类型。支持 ‘wgs84’ 和 ‘gcj02’,默认值为 ‘wgs…

    2024年11月28日
    00
  • 在Java中 ArrayList 和 LinkedList 实现 List 接口类

    在Java中,ArrayList 和 LinkedList 都是实现了 List 接口的类,但它们在底层实现和使用场景上有显著的区别。以下是它们的主要区别: 1. 底层实现ArrayList基于动态数组实现。元素是连续存储的,每个元素都可以通过索引直接访问。LinkedList基于双向链表实现。每个元素由节点(Node)存储,节点包含数据和前后节点的引用。 …

    2024年12月2日
    00
  • 实现微信支付提现api接口教程

    微信支付的提现功能,通常是通过调用 企业付款到零钱 API 或 企业付款到银行卡 API 来实现的。以下是如何使用微信支付提现 API 的详细教程,包括其前置条件、接口调用以及注意事项。 1. 准备工作 1.1. 开通微信支付商户号 1.2. 配置证书 将这些文件保存在你的服务器上,用于发起 HTTPS 请求。 1.3. 获取 API 密钥 2. 企业付款到…

    2024年11月24日
    00
  • 在 React Native 0.72.5 中使用 Hermes 引擎时JavaScript 的 Function.prototype.toString() 转成字符串

    在 React Native 0.72.5 中,使用 Hermes 引擎时,JavaScript 的 Function.prototype.toString() 方法的行为可能与其他 JavaScript 引擎(如 V8 或 JavaScriptCore)有所不同。这种差异源于 Hermes 的设计,旨在提升性能和减少内存开销。 问题描述 在 Hermes …

    2024年12月7日
    00
  • 使用 HBuilderX 开发 uni-app 项目通过以下步骤实现微信小程序中获取用户头像、昵称、授权登录以及用户手机号

    在使用 HBuilderX 开发 uni-app 项目时,可以通过以下步骤实现微信小程序中获取用户头像、昵称、授权登录以及用户手机号。 1. 配置微信小程序的权限 在微信小程序后台中,确保已经启用了相关的功能模块,如: 同时在 app.json 中配置授权弹窗的提示: 2. 授权获取用户头像、昵称 从微信小程序 2.10.4 版本开始,推荐使用 wx.get…

    2024年12月11日
    00
  • 微信小程序错误提示 does not have a method “onShareTimeline”

    当在微信小程序中尝试实现分享到朋友圈功能时,如果你在控制台遇到 does not have a method “onShareTimeline” 错误,这通常是由于以下原因之一: 1. 检查基础库版本 onShareTimeline 是在小程序基础库 2.11.3 及以上版本支持的。如果当前开发者工具的基础库版本较低,会导致方法无法找到。 解决方法: 2. …

    2024年11月26日
    00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

在线咨询: QQ交谈

邮件:723923060@qq.com

关注微信