nodejs使用express+ejs对mysql数据库的增删改查
来源:互联网 发布:java图书馆系统源代码 编辑:程序博客网 时间:2024/06/05 04:25
1.在已经搭建好的nodejs+express+ejs框架中创建config目录,在目录中创建db.js里面写入如下代码:
var mysql = require('mysql');
/** 配置mysql的参数 */
var pool = mysql.createPool({
host:'localhost',
user:'root',
password:'root',
database:'test'
});
/** 数据库链接 */
function query(sql,callback){
pool.getConnection(function(err,connection){
connection.query(sql,function(err,rows){
callback(err,rows);
//释放链接
connection.release();
});
});
}
exports.query = query;
2.在routes目录中创建users.js里面写入如下代码:
var express = require('express');
var router = express.Router();
var db = require('../config/db');
/* 查询数据库数据 */
router.get('/', function(req, res) {
var sql = 'select * from users';
db.query(sql,function(err,rows){
if(err){
res.render('user/userList', {title: '我的测试', datas: []});
}else {
res.render('user/userList', {title: '我的测试', datas: rows});
}
});
});
/**
* 新增页面跳转
*/
router.get('/add', function (req, res) {
res.render('user/addUser');
});
router.post('/add', function (req, res) {
var name = req.body.name;
var age = req.body.age;
var sql = "insert into users(Name,Age) values('" + name + "'," + age + ")";
db.query(sql, function (err, rows) {
if (err) {
res.end('新增失败:' + err);
} else {
res.redirect('users');
}
})
});
/**
* 删
*/
router.get('/del/:id', function (req, res) {
var id = req.params.id;
var sql = "delete from users where Id=" + id;
db.query(sql, function (err, rows) {
if (err) {
res.end('删除失败:' + err)
} else {
res.redirect('users')
}
});
});
/**
* 修改
*/
router.get('/toUpdate/:id', function (req, res) {
var id = req.params.id;
var sql = "select * from users where Id=" + id;
db.query(sql, function (err, rows) {
if (err) {
res.end('修改页面跳转失败:' + err);
} else {
res.render("user/updateUser", {datas: rows}); //直接跳转
}
});
});
router.post('/update', function (req, res) {
var id = req.body.id;
var name = req.body.name;
var age = req.body.age;
var sql = "update users set Name='" + name + "',Age='" + age + "' where Id=" + id;
db.query(sql, function (err, rows) {
if (err) {
res.end('修改失败:' + err);
} else {
res.redirect('users');
}
});
});
/**
* 按照条件查询
*/
router.post('/search', function (req, res) {
var name = req.body.s_name;
var age = req.body.s_age;
var sql = "select * from users ";
if (name) {
sql += " where Name like '%" + name + "%' ";
if (age) {
sql += " and Age=" + age + " ";
}
}else{
if (age) {
sql += " where Age=" + age + " ";
}
}
// sql = sql.replace("and","where");
db.query(sql, function (err, rows) {
console.log(rows);
if (err) {
res.end("查询失败:", err)
} else {
res.render("user/userList", {title: 'Express', datas: rows, s_name: name, s_age: age});
}
});
});
module.exports = router;
3.在views目录下创建user目录,user目录下创建如下几个文件
1.userList.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
</head>
<body>
<form action="/users/search" method="post">
姓名:<input type="text" name="s_name" value="{{s_name}}"><br>
年龄:<input type="text" name="s_age" value="{{s_age}}"><br>
<input type="submit" value="查询">
</form>
<table>
<tr>
<th>编号</th>
<th>姓名</th>
<th>年龄</th>
<th>地址</th>
<th>手机</th>
<th>电子邮箱</th>
<th>操作</th>
</tr>
{{each datas as users index}}
<tr>
<td>{{users.Id}}</td>
<td>{{users.Name}}</td>
<td>{{users.Age}}</td>
<td>{{users.Address}}</td>
<td>{{users.Phone}}</td>
<td>{{users.Mail}}</td>
<td><a href="/users/add">新增</a></td>
<td><a href="/users/del/{{users.Id}}">删除</a></td>
<td><a href="/users/toUpdate/{{users.Id}}">修改</a></td>
</tr>
{{/each}}
</table>
</body>
</html>
2.addUser.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>新增页面</title>
</head>
<body>
<form action="/users/add" method="post">
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
3.updateUser.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改页面</title>
</head>
<body>
<form action="/users/update" method="post">
<input type="hidden" value="{{datas[0].id}}" name="id">
姓名:<input type="text" name="name" value="{{datas[0].name}}"><br>
年龄:<input type="text" name="age" value="{{datas[0].age}}"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
技术:首先要npm install mysql或者npm install mysql --save,其次我使用了angular.js,如果不想引入用原生的也可以。在实现这些代码是基于nodejs的express+ejs框架中实现的。
- nodejs使用express+ejs对mysql数据库的增删改查
- 使用 NodeJS+Express+MySQL 实现简单的增删改查
- nodejs+express+mysql 增删改查
- 对mysql数据库的增删改查
- node+express+mysql实现数据库的增删改查
- nodejs对mongodb数据库的增删改查操作
- nodejs对mongodb的增删改查
- 使用jdbc对MySQL数据库进行增删改查
- cmd窗口下对mysql数据库的增删改查
- Java实现对mysql数据库的增删查改
- Springboot 之 JPA对Mysql数据库的增删改查
- PHP 中对MySql 数据库的增删改查
- maven+hibernate实现对MySql数据库的增删改查
- 一个使用ibatis对数据库增删改查的例子
- java使用反射实现对数据库的增删改查
- nodejs express模版引擎ejs的使用
- php 使用mysql数据库增删改查
- vickate_iOS_FMDB 对数据库的增删改查
- 检查socket是否断开
- 是时候做点改变了
- 通过百度地图API,将百度坐标转换成GPS经纬度
- 深度剖析C语言的各种指针
- 数据结构之栈实现(1)
- nodejs使用express+ejs对mysql数据库的增删改查
- caffe crop层
- 导入文件时http504超时错误通过nginx配置处理
- 关于spring+mybatis操作数据库多次异常 事务不被spring管理问题
- 使用valgrind检查内存问题
- myeclipse双击无法打开 -Dosgi.locking=none
- Web前端复习——JavaScript复习(DOM)
- 别再让短期经历成为你简历的短板了!
- spss 构建决策树 树形图 正在处理不显示问题