操作Mysql需要先引入mysql模块
var mysql = require('mysql');
新建db.js链接数据库
/**
* Created by jiunuo on 2017/7/26.
*/
var mysql = require('mysql');
var pool = mysql.createPool({
host: 'localhost',//服务器地址
user: 'root',//用户名
password: 'root',//密码
database: 'node_test'//数据库
});
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;//向外暴露函数,外面的要引用
新建数据表user
接下来就可以操作数据库了,新建一个
user.js
来操作数据库
- 引包
var express = require('express');
var db = require('./model/db.js');
var app = express();
app.set('view engine', 'ejs');//设置模板引擎为ejs
当我们访问‘/’的时候查询用户的所有信息,返回结果是一个数组:
app.get('/',function (req,res) {
db.query('select *from user',function (err,rows) {
if(err){
res.send("查询失败")
}else {
//查询成功跳转到user页面,data查出来是一个数组rows
res.render('user',{"data":rows});
console.log(rows);
}
});
});
app.listen(3000);
res.render('user',{"data":rows});
在跳转的时候传递这个data到user界面,在user界面用模板引擎循环显示:
<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>
添加用户:
这里表单提交试用get请求,试用post请求获取表单值太麻烦,自己可以尝试
//add页面跳转
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('/')
}
})
});
修改用户信息:
在修改的时候要根据id先去查找这个用户的信息,先去填充表单,然后在执行修改操作。
// 修改
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('修改页面跳转失败:' + err);
} else {
res.render("edit", {data: rows}); //直接跳转,填充表单,跟查询显示一样
}
});
});
在填充完表单以后,在进行修改操作:
// 修改提交
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('修改成功');
}
});
});