当前位置:网站首页>nodejs+express实现数据库mysql的访问,并展示数据到页面上
nodejs+express实现数据库mysql的访问,并展示数据到页面上
2022-08-04 01:00:00 【m0_67392661】
1.Express基础框架的搭建
首先,创建一个websafe文件如下图所示
Cd命令到新创建的目录下。
重点步骤:
1.1初始化项目
npm init
一直往下enter键就可以
yes之后我们的项目中就会多一个json文件
1.2安装express
安装命令为:
npm install -g express-generator
只要执行这个命令等待执行结束即可。
1.3 Express创建一个目录,进入该目录
创建命令:
express -e websafe
1.4下载包的依赖
下载基础依赖命令:
npm install
下载mysql数据库依赖命令:
npm install mysql
完成上面四步操作后具体的项目结构如下所示:
这样的话我们就创建好一个初始的express项目架构
2.数据库的连接创建
前提:本地有搭建mysql数据库,且存在表名为mysql
然后创建建立连接的js文件(index.js),具体代码如下所示:
var express = require("express"); //引用外部模块接口,也就是获取模块对象
var router = express.Router();//创建路由实例
//调用mysql模块
const mysql = require("mysql");
//配置本机mysql连接基本信息
let connectInfo = mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'root',
password: '123456',
database: 'mysql'
})
//数据库建立连接
connectInfo.connect();
//查询sql语句
var sqlWord = 'select * from nodetest';
connectInfo.query(sqlWord, function (err, result) {
if (err) {
console.log('[query]-:' + err);
} else {
router.get('/', function (req, res, next) {
res.render('index', {
title: 'express测试实例连接数据库',
data: result
})
})
}
});
module.exports = router;
切记本地有mysql数据库,且数据库存在表名为nodetest
3. 页面的展示(忽略创建mysql本地数据库的过程)
创建页面通过变量展示,通过express框架中的index.ejs来创建一个表格进行页面data数据的展示,具体代码如下:
<!DOCTYPE html>
<html>
<head>
<title>
<%= title %>
</title>
<!-- 引入bootstrap框架 -->
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet">
<link rel='stylesheet' href='/stylesheets/index.css' />
<!-- 样式都是基于public下面来的 -->
</head>
<body>
<div class="parts">
<div class="part">
<div class="fh3">家庭信息表 <sub> (测试nodejs+express+mysql)</sub></div>
<table class="table table-bordered text-center">
<tr>
<td>id</td>
<td>name</td>
<td>address</td>
<td>user</td>
</tr>
<% for(var i=0;i<data.length;i++){ %>
<tr>
<td>
<%= data[i].id %>
</td>
<td>
<%= data[i].name %>
</td>
<td>
<%= data[i].address %>
</td>
<td>
<%= data[i].user %>
</td>
</tr>
<% } %>
</table>
</div>
</div>
</body>
</html>
样式可以自己随便定义一下,无关紧要的,需要demo的可以私我或者留下邮箱。
完成这些操作后你就会发现最终页面就会展示出数据库的相关数据,其实是采用了express搭建前台框架,nodejs后台实现,最终页面效果如下所示:
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 电子组装行业对MES管理系统的需求分析
- 互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
- typescript54 - generic constraints
- 观察者模式
- 新一代服务网关Gateway的实践笔记
- .NET Static Code Weaving - Rougamo Release 1.1.0
- 贴纸拼词 —— 记忆化搜索 / 状压DP
- What warehouse management problems can WMS warehouse management system solve in the electronics industry?
- BioVendor人Clara细胞蛋白(CC16)Elisa试剂盒检测步骤
- Nanoprobes丨Nanogold-抗体和链霉亲和素偶联物
猜你喜欢
Modulo operation (MOD)
LeetCode third topic (the Longest Substring Without Repeating Characters) trilogy # 3: two optimization
电子制造企业部署WMS仓储管理系统的好处是什么
【虚拟户生态平台】虚拟化平台安装时遇到的坑
手撕Nacos源码,今日撕服务端源码
jmeter跨平台运行csv等文件
What warehouse management problems can WMS warehouse management system solve in the electronics industry?
互斥锁、读写锁、自旋锁,以及原子操作指令xaddl、cmpxchg的使用场景剖析
微服务的简单介绍
js中常用的几种遍历处理数据的方法梳理
随机推荐
Web3 安全风险令人生畏?应该如何应对?
研究生新生培训第四周:MobileNetV1, V2, V3
WMS仓储管理系统能解决电子行业哪些仓库管理问题
Mvc, Mvp and Mvvm
2022年8月份DAMA-CDGA/CDGP数据治理认证招生简章
快速入门EasyX图形编程
typescript50-交叉类型和接口之间的类型说明
2022年上半年各大厂Android面试题整理及答案解析(持续更新中......)
typescript48-函数之间的类型兼容性
c语言分层理解(c语言指针(上))
共享新能源充电桩充电站建设需要些什么流程及资料?
Slipper —— 虚点,最短路
字符串的排列
How to find the cause of Fiori Launchpad routing errors by single-step debugging
Shell编程之循环语句(for、while)
【虚拟化生态平台】虚拟化平台esxi挂载USB硬盘
中原银行实时风控体系建设实践
Jmeter cross-platform operation CSV files
LYVE1抗体丨Relia Tech LYVE1抗体解决方案
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之三:两次优化