Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank

Detaillierte Erläuterung der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank

php中世界最好的语言
php中世界最好的语言Original
2018-05-09 11:48:153340Durchsuche

Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank und welche Vorsichtsmaßnahmen für NodeJS zum Herstellen einer Verbindung mit der MySQL-Datenbank gelten Praktischer Fall, werfen wir einen Blick darauf.

1. Mehrere häufig verwendete globale Variablen

1, filenameDen Pfad der aktuellen Datei abrufen
2, dirname Verzeichnis der aktuellen Datei abrufen
3. process.cwd() Verzeichnis des aktuellen Projekts abrufen

2. Import und Export von Dateien

1 , Verwenden Sie require, um Dateien zu importieren

2. Verwenden Sie module.exports, um in der Datei angegebene Variablen, Methoden und Objekte zu exportieren

3. nodeErstellen des ProjektsVerzeichnisstruktur

Demo

 package.json Pakete oder Module, von denen das aktuelle Projekt abhängt
Router Datei, die das Routing speichert
Ansichten Modul, das Ansichten speichert
Module wie Datenbank App. js
Haupteintragsdatei
Viertens schreiben Sie die Routing-Ansicht separat in die

-Datei

router1 Datei

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 demo

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

in der Hauptdatei auf. 5. Verwenden Sie

Templateejs1. Muss installiert werden, kann aber nicht importiert werden

npm install ejs --save
2. Konfigurieren Sie

//配置模板的文件路径
app.set("views",dirname+"/views");
//配置模板引擎
app.set("view engine","ejs");
in der Hauptdatei 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>
②, Rendervorlage in 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

Verwendung von Vorlagendateien ejs1. Rückgabedaten

...
let dataset = {
 name:"张三",
 age:20,
 books:['三国演义','西游记','红楼梦','水浒传']
}
res.render("03_index.ejs",dataset);
...
2. Gewöhnliche Felder

<h2><%= name %></h2>
<h2><%= age %></h2>
3 >7. Statische Dateien laden

1. Konfigurieren Sie

<ul>
 <% for(let i in books){%>
  <li><%= books[i] %></li>
 <%}%>
</ul>
in der Hauptdatei 2. Verwenden Sie es in der Vorlage

//设置静态文件的加载(js,css,img)
app.use(express.static(dirname+"/public"));
8. Verwenden Sie die

-Datenbank

1. Erstellen Sie eine in Datei

<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">
...
mysql2. Verwenden Sie eine Abfrage Daten① in der -Ansicht, Datei importieren

'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();
}

②, verwenden Sie module

//引入数据库文件
const db = require("./../module/db");
db.js3 in der Ansicht

①, Sehen Sie sich das Codebeispiel auf der Startseite an router

②, erhalten Sie Benutzerdatenparameter über

router.get("/", (req, res) => {
 db("select * from m_dept",(err,data)=>{
  console.log(data);
  res.render("03_index.ejs",{data:data});
 })
});

9. Über

Zurück

req.query

Im Front-End- und Back-End-Trennungsentwicklungsmodus sind die vom Backend zurückgegebenen Daten im Allgemeinen JSON, was nicht erforderlich ist Verwenden der EJS-Template-Engine node

router.get("/regist",(req, res)=>{
 //获取到输入参数,前提是input上要写name
 console.log(req.query);
 db("insert into student(name,age) values(?,?)",[req.query.username,req.query.age],(err,data)=>{
  console.log(data);
  if(data){
   res.send("成功");
  }
 })
})
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! jsonEmpfohlene Lektüre: vue verarbeitet von storejs erhaltene Daten

Was tun, wenn auf die lokale Entwicklungsumgebung nicht zugegriffen werden kann? nach IP

Beispielcode zum Erstellen von Feuerwerks-Spezialeffekten mit p5.js_javascript-Fähigkeiten

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank. 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