Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der NodeJS-Verbindung zur MySQL-Datenbank und grundlegende Wissenspunkte

Detaillierte Erläuterung der NodeJS-Verbindung zur MySQL-Datenbank und grundlegende Wissenspunkte

亚连
亚连Original
2018-05-25 16:36:231667Durchsuche

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 __filename2.
Ruft das Verzeichnis der aktuellen Datei ab __dirname3.
Ruft das Verzeichnis des aktuellen Projekts ab process.cwd()

2. Importieren und exportieren von Dateien

1. Verwenden Sie

, um die Datei zu importieren require

2. Verwenden Sie

, um die in der Datei angegebenen Variablen, Methoden und Objekte zu exportieren module.exports

3. nodeProjektverzeichnisstruktur

Demo

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

Datei

router1. 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

2. Konfigurieren Sie

//配置模板的文件路径
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

&#39;use strict&#39;;
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:[&#39;三国演义&#39;,&#39;西游记&#39;,&#39;红楼梦&#39;,&#39;水浒传&#39;]
}
res.render("03_index.ejs",dataset);
...

2. Gewöhnliche Felder

<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"));

in der Hauptdatei 2. Verwenden Sie

<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

-Datenbank

1. Erstellen Sie eine -Datei in mysqlrrree

2. Abfragedaten in der module-Ansicht verwendendb.js

①, Datei importieren

&#39;use strict&#39;;
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

nodeIm 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});
 })
});

Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.


Verwandte Artikel:

Ajax-Technologiezusammensetzung und Kernprinzipanalyse

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn