操作Mysql需要先引入mysql模塊
var mysql = require('mysql');
新建db.js鏈接數(shù)據(jù)庫
/**
* Created by jiunuo on 2017/7/26.
*/
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',//服務(wù)器地址
user: 'root',//用戶名
password: 'root',//密碼
database: 'node_test'//數(shù)據(jù)庫
});
function query(sql, callback) {
pool.getConnection(function (err, connection) {
// Use the connection
connection.query(sql, function (err, rows) {
callback(err, rows);
connection.release();//釋放鏈接
});
});
}
exports.query = query;//向外暴露函數(shù),外面的要引用
新建數(shù)據(jù)表user
image.png
接下來就可以操作數(shù)據(jù)庫了溺森,新建一個
user.js
來操作數(shù)據(jù)庫
- 引包
var express = require('express');
var db = require('./model/db.js');
var app = express();
app.set('view engine', 'ejs');//設(shè)置模板引擎為ejs
當我們訪問‘/’的時候查詢用戶的所有信息涝缝,返回結(jié)果是一個數(shù)組:
app.get('/',function (req,res) {
db.query('select *from user',function (err,rows) {
if(err){
res.send("查詢失敗")
}else {
//查詢成功跳轉(zhuǎn)到user頁面,data查出來是一個數(shù)組rows
res.render('user',{"data":rows});
console.log(rows);
}
});
});
app.listen(3000);
res.render('user',{"data":rows});
在跳轉(zhuǎn)的時候傳遞這個data到user界面,在user界面用模板引擎循環(huán)顯示:
<table style="border: 1px solid red">
<tr>
<td>id</td>
<td>用戶</td>
<td>年齡</td>
</tr>
<% for(var i=0;i<data.length;i++){ %>
<tr>
<td><%=data[i].id%></td>
<td><%=data[i].name%></td>
<td><%=data[i].age%></td>
</tr>
<%}%>
</table>
image.png
添加用戶:
這里表單提交試用get請求氏淑,試用post請求獲取表單值太麻煩,自己可以嘗試
//add頁面跳轉(zhuǎn)
app.get('/add',function (req,res) {
res.render('add');
});
app.get('/user/addUser',function (req,res) {
var username = req.query.username;//獲取表單提交的username
var age = req.query.age;//獲取表單提交的age
db.query("insert into user(name,age) values('" + username + "'," + age + ")",function (err,rows) {
if(err){
res.send("添加失敗")
}else {
res.render('添加成功');
}
});
});
填寫表單
添加成功
刪除用戶:
// 刪除
app.get('/del',function (req,res) {
var id = req.query.id;
db.query("delete from user where id=" + id,function (err,rows) {
if(err){
res.send('刪除失敗'+err)
}else {
res.redirect('/')
}
})
});
修改用戶信息:
在修改的時候要根據(jù)id先去查找這個用戶的信息硕噩,先去填充表單假残,然后在執(zhí)行修改操作。
// 修改
app.get('/user/edit',function (req,res) {
var id = req.query.id;
db.query("select * from user where id=" + id, function (err, rows) {
if (err) {
res.end('修改頁面跳轉(zhuǎn)失斅谩:' + err);
} else {
res.render("edit", {data: rows}); //直接跳轉(zhuǎn)辉懒,填充表單,跟查詢顯示一樣
}
});
});
在填充完表單以后谍失,在進行修改操作:
// 修改提交
app.get('/user/update',function (req,res) {
var id = req.query.id;
var username = req.query.username;//獲取表單提交的username
var age = req.query.age;//獲取表單提交的age
db.query("update user set name='" + username + "',age='" + age + "' where id=" + id,function (err,rows) {
if(err){
res.send("修改失敗"+err)
}else {
res.send('修改成功');
}
});
});