這次帶給大家nodejs連線mysql資料庫步驟詳解,nodejs連接mysql資料庫的注意事項有哪些,下面就是實戰案例,一起來看一下。
一、幾個常用的全域變數
#1、filename
取得目前檔案的路徑
2 、dirname
取得目前檔案的目錄
3、process.cwd()
取得目前工程的目錄
二、檔案的引入與匯出
1、使用require
引入檔案
2、使用module.exports
匯出檔案中指定的變數、方法、物件
三、node
專案的建構目錄結構
demo
package.json 目前專案所依賴的套件或模組
router 使用儲存路由的檔案
views 儲存檢視的模組
public 靜態檔案
module 書寫模組例如資料庫
app.js 主入口檔案
四、將路由視圖單獨寫在router
檔案中demo
1、檢視視圖檔案
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、在主檔案中呼叫
'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);
#五、使用ejs
」範本
1、需要安裝但可以不引入
npm install ejs --save
2、在主檔案中設定
//配置模板的文件路径 app.set("views",dirname+"/views"); //配置模板引擎 app.set("view engine","ejs");
3、使用
①、範本檔案<!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>
'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;
'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);
六、關於
ejs 模板檔案的使用1、傳回資料
...
let dataset = {
name:"张三",
age:20,
books:['三国演义','西游记','红楼梦','水浒传']
}
res.render("03_index.ejs",dataset);
...
<h2><%= name %></h2> <h2><%= age %></h2>
3、迭代陣列<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><ul>
<% for(let i in books){%>
<li><%= books[i] %></li>
<%}%>
</ul></pre><div class="contentsignin">登入後複製</div></div>
七、載入靜態檔案
1、主檔案中設定
//设置静态文件的加载(js,css,img) app.use(express.static(dirname+"/public"));
2、在範本中使用
<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"> ...
八、使用
mysql
資料庫
#1、在module##」建立一個db.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();
}
檢視中使用查詢資料
①、引入檔案//引入数据库文件
const db = require("./../module/db");
router.get("/", (req, res) => { db("select * from m_dept",(err,data)=>{ console.log(data); res.render("03_index.ejs",{data:data}); }) });
3、新增資料
①、前端頁見程式碼案例
②、透過
req.query九、關於node
回傳
... res.json({ info:"成功", code:1 }); ...
以上是nodejs連接mysql資料庫步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!