IT评测·应用市场-qidao123.com
标题:
Node.js 连接 mysql 数据库(Navicat)超具体!!!
[打印本页]
作者:
天空闲话
时间:
2024-7-19 17:33
标题:
Node.js 连接 mysql 数据库(Navicat)超具体!!!
数据库部分
打开 navicat(其他数据库软件也可以)
点击连接 - 选择 MySql
在新建连接中输入
连接名
以及
密码
,默认其他输入框是有值的。
连接建好后有几个数据库是自带的,尚有的是我之前建的,这些不用管,如今我们需要创建本身的数据库。
右键新建数据库 -- 输入数据库名称 test
右键数据库名称 -- 新建表
在页面中随便写两个字段,类型会自动填充,然后生存为你想存的数据库表名,这里生存为 test。
数据库表建好了,随便填充一下数据
右键 - 点击打开表
输入张三,18 然后记得生存
node 部分
新建 dbconfig.js 用于配置数据库信息(以下代码在dbconfig.js中)
创建 MySQL 连接池,封装 sql 执行语句,末了把连接池以及封装好的函数导出。
const mysql = require('mysql')
//创建连接池
const pool = mysql.createPool({
host: '127.0.0.1', //服务器地址
user: 'root', //账号
password: '123456', //密码
database: 'test', //数据库名称
})
//封装sql执行函数
const executeQuery = (sql, values) => {
return new Promise((resolve, reject) => {
pool.getConnection((err, connection) => {
if (err) {
reject(err)
return
}
connection.query(sql, values, (queryErr, results) => {
connection.release()
if (queryErr) {
reject(queryErr)
} else {
resolve(results)
}
})
})
})
}
module.exports = {
pool,
executeQuery,
}
复制代码
在 index.js 中引入数据库配置 (以下代码在index.js中)
写一个 get 接口测试数据库是否乐成,再写一个 sql 语句搜索 test 表中所有数据,并执行 sql 语句,末了将得到的数据 send 出去。
const { pool, executeQuery } = require('./dbconfig')
const express = require('express')
const app = express()
app.get('/get', async (req, res) => {
try {
const sql = `SELECT * FROM test;`//sql语句 搜索test表所有数据
const result = await executeQuery(sql)//执行sql语句
res.send({
result,
code: 200,
})
} catch (error) {
console.error('Error executing query:', error)
res.status(500).send('Internal Server Error')
}
})
app.listen('3000', () => {
console.log(`node服务已启动 端口号是:3000`)
})
复制代码
肯定要初始化项目以及安装依靠!!!(按顺序执行)
npm init
npm i express
npm i mysql
复制代码
ctrl+j 打开终端,输入 node index 启动项目,如果你也得到下面这句话,说明你启动乐成了。
测试
postman
打开 postman 进行本地测试,新建连接并输入链接,可以看到得到数据了。
网页测试
也可以精确拿到数据,那么到这里我们就大功告成了!
源码
GitHub链接: chenyajun-create/node-mysql (github.com)
所有源码已经同步提交GitHub,觉得对你有资助的话,记得帮作者点下star⭐~非常感谢呢
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4