uniapp使用express连接mysql数据库

news2024/11/19 14:41:35

一、安装 express 脚手架

使用win+R再输入cmd打开命令提示符,输入如下内容全局安装脚手架

npm i express-generator -g

 二、在项目根目录下创建服务

可以在命令提示符中cd到自己项目的根目录下,也可以在HBuilder X里内置的终端运行代码

 C:\HBuilderProjects\wordman> express --view=ejs server

说明:前面是项目的根目录,express --view=ejs projectName

projectName:名称,自定义即可

express --view=ejs projectName 的简写为 express -e projectName

 创建完成后在根目录下会出现一个新文件夹

 

cd 到server(或者是你自己自定义的名字)的目录下

npm install //安装依赖

npm start //启动服务

 在浏览器上输入http://localhost:3000/

出现下图,代表服务启动成功。

 三、连接数据库

在server的目录下创建db文件夹再创建sql.js文件,如下图

 在sql.js文件中输入如下内容

 var mysql = require('mysql');
var connection = mysql.createConnection({
    host: '10.101.11.123', //host地址,尽可能写ip地址,写localhost在手机调试的时候连不上
    port:3306, //端口号
    user: '账号', //连接数据库时的账号
    password: '密码',//连接数据库时的密码
    database: 'wordman' //需要连接的数据库
});
module.exports = connection;

当运行的时候有可能出现:

文件查找失败:'mysql'

类似于:

 这说明没有安装mysql的依赖

解决方法:

打开终端,进入到根目录,输入npm init -y;

再输入npm i mysql;

你会看到在根目录下的node_modules中有

当 HBuilder X提示你文件查找失败“文件名”时

很有可能是你的相应内容没有下载

 再转到server下的routes文件夹下的index.js文件

 

 输入内容

var express = require('express');
var router = express.Router();


var connection = require('../db/sql.js')


/* GET home page. */
router.get('/', function(req, res, next) {
    res.render('index', {
        title: 'Express'
    });
});

//读取数据并存放在/words中
router.get("/words", function(req, res, next) {
    connection.query('SELECT * from level_3_words', function(error, results, fields) {
        if (error) throw error;
        console.log('The solution is: ', results);
        res.send(results)
    });

});

module.exports = router;

在浏览器中输入  http://localhost:3000/words

即可得到读取到的内容

 

到这里就算成功连接上mysql数据库了,当前端需要读取这些数据时,需要在前端页面通过url读取

             uni.request({
                url: "http://localhost:3000/words",
                method: 'get',
                success: res => {
                    console.log(res.data);
                }
            })

获取到数据后,有些浏览器需要自己点>>打开数据

 可以通过

res.data[序号][数据名]

获得相应内容

如:

res.data[0]['ch_word']

得到上图ch_word的内容

注:

在前后端交互的时候,要先启动express才能读取到url中的值。

每次更新server中的内容之后需要重新启动express才能生效,建议安装一个nodemon,nodemon的效果就是更新内容之后不需要重启express,会自行上传内容,如有需要可自行查阅安装

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/554102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

波奇学C++:动态内存管理,new和delete

内存分区 内存可分为栈,堆,静态区/数据段,常量区/代码段 栈:函数栈帧,临时变量,开辟空间 堆:动态申请的数据 静态区/数码段:静态数据,全局变量 常量区/代码段&#x…

django admin后台管理系统上传添加的图片保存到阿里云oss中

目录 一、配置admin上传图片到阿里云oss 二、配置admin后台上传到阿里云oss的图片为自定义名 问题描述:在开发自己的应用/网页前后台时可以调用阿里云oss的接口将图片上传至oss保存和读取,非常方便。但在django自带的admin后台中如何配置添加的图片也上…

视频美颜SDK在直播领域的应用与挑战

目前,视频美颜技术在视频拍摄领域“大展神通”,因为视频美颜SDK可以帮助主播在直播中展现更加美好的形象,吸引更多的观众,并提升用户体验。然而,视频美颜SDK在直播领域的应用也面临着一些挑战。 一、视频美颜SDK在直…

回溯法【2-5】

假设一个推销员问题由下图定义,用回溯法求解 从1号结点出发的相应最短巡回路径(每个顶点刚好到达一次)。若用bestL表示搜索过程中产生的当前最优解,剪枝函数 L 设计为: L 已走过的路径长度 当前结点相关的最短边 所…

ChatGPT提示工程课程,吴恩达OpenAI

Principle 1: Write clear and specific instructions 使用明确的分隔符,是LLM知道这个某个单独的字段。 前提设置: import openai import osfrom dotenv import load_dotenv, find_dotenv _ load_dotenv(find_dotenv()) # read local .env fileopena…

LeetCode·每日一题·1080. 根到叶路径上的不足节点·递归

作者:小迅 链接:https://leetcode.cn/problems/insufficient-nodes-in-root-to-leaf-paths/solutions/2279048/di-gui-zhu-shi-chao-ji-xiang-xi-by-xun-g-7rfd/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系…

如何使用 VSCode 软件运行C代码

VSCode 的下载和扩展的配置可以参考文章:VSCode 的安装与插件配置。 VSCode 是很好用的编辑器,通过给其配置 MinGW-w64 插件就可以在它上面编译运行C代码了。 在没有配置 MinGW-w64 插件时,在 VSCode 中运行下面的代码后打印如下图所示。 这…

【C语言】C的编译过程预处理

目录 一、 程序的翻译环境和执行环境1、翻译环境预处理编译汇编链接 2、执行环境 二、预处理详解1、预定义符号2、#define#define 语法#define 定义宏#define 替换规则 3、#和##4、宏和函数对比 一、 程序的翻译环境和执行环境 在ANSI C的任何一种实现中,存在两个不…

为什么我们拥有庞大的语言模型,而Vision Transformers的规模却很小?

编者按:本文探讨了语言模型为何会比视觉模型的参数数量大得多的原因,并详细介绍了传统ViT训练方法在扩展时出现不稳定性的问题。 为此,本文介绍了如何改进架构以实现扩展,并讨论了实现模型最优状态的方法。同时,如何在…

Docker部署skywalking9.2版本

注意使用docker部署skywalking和使用tar包部署有点不一样OAP和UI需要分别部署原因是: SkyWalking UI 和 OAP 是 SkyWalking 的两个主要组件,它们之间的关系是前端和后端的关系。SkyWalking UI 是一个 Web 应用程序,它提供了一个漂亮的 UI 界面…

连续降税、人民币结算,巴西潜力爆发!开发细节见内!

本文内容 /CONTENT 01/中巴贸易现状 02/主要进口类别 03/通关和贸易政策 04/市场商业环境 05/本地公司的注册程序 06/巴西的主要节日 最近巴西降低关税,宣布人民币结算。想转市场的朋友不妨考虑巴西。 巴西作为南美洲最大的国家,当地人口占53%(…

ios音频焦点

音频焦点 两个或者两个以上的app可以同时向同一输出流播放音频。系统会将所有音频流混合在一起,但这样会给用户带来很大的困扰。为了避免所有音乐app同时播放,ios引入了“音频焦点”的概念。在ios中,音频焦点是操作系统为了管理音频硬件而引…

uvc驱动ioctl分析上

uvc驱动ioctl分析上 文章目录 uvc驱动ioctl分析上uvc_ioctl_querycap查询设备的能力uvc_ioctl_enum_fmt处理V4L2设备的枚举格式(enum_fmt)的ioctl操作uvc_ioctl_enum_fmt_vid_out枚举视频输出格式uvc_ioctl_enum_fmt_vid_cap枚举视频捕获格式 uvc_v4l2_g…

低代码到底有多爽?解放双手,推荐一款C端的低代码产品

前言引入 低代码(LowCode)就是一种可视化搭建系统,从字面意思来讲,一是可视化;二是少写代码。由此可见,低代码的出现是为了减轻和降低开发者的负担,让开发者减少重复劳动,避免资源和…

基于Angular+Nginx+Java+Spring开发的医院信息系统(HIS)源码

基于云计算技术的SaaS服务的医院信息系统源码 云HIS系统有效实现医疗数据共享与交换,解决数据重复采集及信息孤岛等问题。重构管理服务流程,重建统一的信息架构体系,重造病人服务环境,向不同类型的医疗机构提供SaaS化HIS服务解决…

如何在不损失质量的情况下压缩优化图像大小

您是否知道在将图像上传到 WordPress 之前对其进行优化会对您的网站速度产生巨大影响? 在开始时,许多初学者只是简单地上传图片,而没有针对网络对其进行优化。这些大图像文件会使您的网站变慢。 您可以通过将图像优化最佳实践作为常规博客程…

如何对高压功率放大器进行初步故障排查?

在使用测试仪器仪表进行实验检测的过程中,可能多少都遇到过这种情况:仪器开不了机无法点亮、设备幅值与理论值有较大差距、输出电压波形失真、设备异常过载、设备异响异味等等.... 作为测试仪器仪表的一种,功率放大器也可能会出现这种情况&a…

基于Java+SpringMvc+vue+element实现高效学生社团平台管理

基于JavaSpringMvcvueelement实现高效学生社团平台管理 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式…

基于Java+Springmvc+vue+element实现高校心理健康系统详细设计和实现

基于JavaSpringmvcvueelement实现高校心理健康系统详细设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源…

将java项目导出jar包,转成在windows上的可执行文件(没有java运行环境的电脑也可以)

前言 提示:直接将java运行环境一起打包没有java运行环境的电脑也可以: 近期在做一个java串口项目,需要将完整的项目导出.exe文件在没有java环境的电脑上运行,下面是详细的操作步骤以及遇到各种问题的解决办法.。 说明&#xff1…