Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der NodeJS-Verbindung zur MySQL-Datenbank und grundlegende Wissenspunkte
In diesem Artikel wird hauptsächlich die NodeJS-Verbindung zur MySQL-Datenbank vorgestellt. Er fasst die zugehörigen Vorlagen, Konfigurationen und MySQL-Datenbankabfragen zusammen und fügt Daten und andere Betriebsfähigkeiten der NodeJS-Verbindung und des Betriebs der MySQL-Datenbank in Form von Beispielen hinzu. Freunde in Not können sich darauf beziehen
Die Beispiele in diesem Artikel beschreiben NodeJS, die eine Verbindung zur MySQL-Datenbank herstellen, und grundlegende Wissenspunkte. Teilen Sie es wie folgt mit allen:
1. Mehrere häufig verwendete globale Variablen
1 Datei Der Pfad __filename
2.
Ruft das Verzeichnis der aktuellen Datei ab __dirname
3.
Ruft das Verzeichnis des aktuellen Projekts ab process.cwd()
2. Importieren und exportieren von Dateien
1. Verwenden Sie, um die Datei zu importieren require
, um die in der Datei angegebenen Variablen, Methoden und Objekte zu exportieren module.exports
3. node
Projektverzeichnisstruktur
package.json Das aktuelle Projekt hängt vom Paket oder Modul ab
Router Datei, die Routen speichert
Ansichten Modul, das Ansichten speichert
Schreibmodule wie Datenbanken app.js
Haupteintragsdatei
4. Schreiben Sie die Routing-Ansicht separat in die
router
1. Ansichtsdatei demo
const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { res.send("hello word"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;2. Rufen Sie
'use strict'; const express = require("express"); const app = express(); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);5. Verwendung
Vorlage
1. Installation ist erforderlich, aber nicht erforderlich. Einführung ejs
npm install ejs --save
//配置模板的文件路径 app.set("views",__dirname+"/views"); //配置模板引擎 app.set("view engine","ejs");3. Verwenden Sie ①, Vorlagendatei
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>我是模板渲染的</h1> </body> </html>②, Render-Vorlage in der Route
'use strict'; const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { //可以直接使用res.render("03_index"); res.render("03_index.ejs"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;③ Hauptdatei
'use strict'; const express = require("express"); const app = express(); //配置模板的文件路径 app.set("views",__dirname+"/views"); //配置模板引擎 app.set("view engine","ejs"); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);6. Über die Verwendung von
Vorlagendateien
1. Daten zurückgebenejs
...
let dataset = {
name:"张三",
age:20,
books:['三国演义','西游记','红楼梦','水浒传']
}
res.render("03_index.ejs",dataset);
...
<h2><%= name %></h2> <h2><%= age %></h2>3 Array
<ul> <% for(let i in books){%> <li><%= books[i] %></li> <%}%> </ul>7. Statische Dateien laden 1. Konfigurieren Sie
//设置静态文件的加载(js,css,img)
app.use(express.static(__dirname+"/public"));
<link rel="stylesheet" href="./css/bootstrap.css" rel="external nofollow" > <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> <img src="./img/002.jpg"> ...
8. Verwenden Sie die
-Datenbank1. Erstellen Sie eine -Datei in mysql
rrree
2. Abfragedaten in der module
-Ansicht verwendendb.js
'use strict'; const mysql = require("mysql"); /** * 将整个方法全部暴漏出去 * @param sql sql语句 * @param arg 传递到sql语句中的参数,可以不写 * @param callback 回调函数,可以不写 */ module.exports = function (sql,arg,callback) { //1.创建连接(根据自己的数据库配置) let config = mysql.createConnection({ host:"localhost", //数据库的地址 user:"root", //数据库用户名 password:"root", //数据库密码 port:"3306", //mysql数据库的端口号 database:"mybatistest" //使用那个数据库 }); //2.开始连接数据库 config.connect(); //3.对数据库的增删改查操作 config.query(sql,arg,(err,data)=>{ callback && callback(err,data); }) //4.关闭数据库 config.end(); }
router
② , verwenden Sie
//引入数据库文件 const db = require("./../module/db");
3. Fügen Sie neue Daten hinzu
①, siehe Codebeispiel für die Frontend-Seite
②. Erhalten Sie Benutzerdatenparameter über
rrree
req.query
Über
Der Weg dazu Rückkehr
node
Im Front-End- und Back-End-Trennungsentwicklungsmodus sind die vom Backend zurückgegebenen Daten im Allgemeinen JSON, und es besteht keine Notwendigkeit um die EJS-Vorlagen-Engine zu verwenden json
router.get("/", (req, res) => {
db("select * from m_dept",(err,data)=>{
console.log(data);
res.render("03_index.ejs",{data:data});
})
});
Verwandte Artikel:
Ajax-Analyse der asynchronen Belastung
Über den Ausgabestream am Ende des Servlets in der Ajax-Technologie
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der NodeJS-Verbindung zur MySQL-Datenbank und grundlegende Wissenspunkte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!