js对话数据库体验:hello-mysql
js对话数据库体验:hello-mysql
一、写在前面
传闻 JavaScript 已经到了全栈,前后端通吃的地步,今天体验下在 JavaScript、nodejs, 连接 MySQL 数据库查询信息,并通过一个 http 服务展示查询结果的小 demo。
体验 nodejs 中,JavaScript 直接对话数据库的魅力,小 demo,前端人的一大步。
二、过程与思路
1.环境安装和准备
- ①安装 Node.js, 尽管大部分做过前端工程化项目的人都安装了 node 环境,但检查合适环境的存在仍是必须的。 通过 node -v 可以查看 node 的版本,如果像下面这样,正确展示版本号, 那么 node 就确实证明已经安装了,可以放心继续了。如需要安装 nodejs 的教程,自行搜索引擎检索。
- ②安装 mysql 依赖 因为这个 demo,要对话 MySQL 数据库,所以需要安装 mysql 依赖。
// 安装依赖命令
npm install mysql
- ③安装数据库
既然要体验对话数据库,那得有数据库,本 demo 中使用的是 MySQL 数据库。 安装 MySQL 数据库教程自行按需去搜索引擎检索。
cmd 命令窗口输入以下命令回车键,并输入密码,如果能看到以下信息,那么证明你的 MySQL 服务已经在运行了, 可以放心继续了。
- ④在数据库管理系统中,创建库表 demo 中是查询 ry 库的 sys_user 表中的记录,所以得先在数据库管理系统(demo 中是 MySQL)中, 创建库 ry 并在 ry 库下创建表 sys_user,为了测试方便,还得添加几条记录。你可以使用命令做这些, 也可以使用可视化工具处理。可视化工具(例如 Navicat 等)创建库表以及表记录,那非常简单。 如果此前没接触过 sql,那可能会有些麻烦。 (我的工具都是 jetbrains 全家桶,就不推荐了,因为收费,当然俺是正版。)
建库建表添加表记录教程,自行查找。
2.初始化一个工程化项目
在文件夹 nodejs-hello 下,通过 npm init -y
命令初始化一个工程化项目,获得 package.json。
3.创建 serve-mysql.js 文件
// serve-mysql.js
const mysql = require('mysql'); // 需要额外安装依赖:npm install mysql
const http = require("http"); // 内置的模块功能
// 创建 mysql 连接
const conn = mysql.createConnection({
host: 'localhost', // 数据库所在的域名或ip
user: 'root', // 数据库用户账号
password: '123456', // 数据库账号对应的密码
database: 'ry' // 数据库名称
});
// 发起连接
conn.connect();
// sql 原句:查询表 sys_user 的记录中的全部字段信息
// * 表示查询全部,通常不建议这么做,应该显示列出需要查询的字段,哪怕这些字段很多
const sql = 'select * from sys_user'
conn.query(sql, (err, results, fields) => {
// 遇到错误抛出异常
if (err) throw err;
// 打印查询结果的第一行记录
console.log('result =>', results[0]);
// 打印查询结果的第二行记录
console.log('result =>', results[1]);
// 创建一个 http 服务,
http.createServer(function (request, response) {
// Send the HTTP header
// HTTP Status: 200 : OK
// Content Type: text/plain
response.writeHead(200, {'Content-Type': 'text/plain;charset=utf-8'});
// 设置 http 请求的响应内容,
// 获取查询结果的第二行记录的 "user_name" 的值,即是用户名
const user = results[1]["user_name"]
response.end('你好,世界!\n Hello World\n'+user);
// 监听 3210 端口,即通过 3210 端口访问该 http 服务,将获得请求的响应内容
}).listen(3210);
console.log("您可以通过该地址访问服务:" + "http://localhost:3210")
});
conn.end();
4.执行 serve-mysql.js 的文件
在 nodejs-hello 文件夹下,执行 serve-mysql.js 文件,执行命令是: node serve-mysql.js
下面是执行命令相关的截图
下面是在浏览器访问创建的 http 服务的结果截图
三、写在后面
环境准备有点多,特别是对于没有后端经验的纯前端来说,可能感到有些麻烦。 但总的来说,使用 JavaScript ”对话“数据库,是一个不错的体验。
前端了解或说具备简单 CRUD 能力可以,真的搞全栈,以我的经验来说,实在吃不消。 前后端分工已成大势,相信分工合作会是长期的趋势,相信将来分工也只会是越来越细,而不会相反。
转载自:https://juejin.cn/post/7103723408688414727