侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

nodejs下的CRUD,使用mysql

2022-06-26 星期日 / 0 评论 / 0 点赞 / 68 阅读 / 5213 字

先上源码:http://git.oschina.net/jingyuansuifeng/nodejsDemo.git,欢迎大家猛烈fork。 这里样式使用了bootstrap.min.css

先上源码:http://git.oschina.net/jingyuansuifeng/nodejsDemo.git,欢迎大家猛烈fork。

这里样式使用了bootstrap.min.css

主要知识点:

1、使用express新建一个项目

2、在package中添加mysql模块

{  "name": "application-name",  "version": "0.0.1",  "private": true,  "scripts": {    "start": "node app.js"  },  "dependencies": {    "express": "3.4.1",    "jade": "*",    "mysql":">=2.0.0-alpha"  }}

3、安装mysql模块

    npm install

4、新增连接数据库的信息,这里我使用的是连接池

var mysql = require('mysql');//数据库链接信息.创建数据库连接池。var pool = mysql.createPool({	host : 'localhost',	port : '3306', //可以不填写,默认为3306	user : 'root',	password : 'root',	database : 'quickstart'});

5、实现增删该查功能

//链接数据库测试 start//显示数据app.get('/', function(req, res) { pool.getConnection(function(err, connection) { connection.query('SELECT * from ss_user ', function(err, rows, fields) { if (err) throw err; //res.send('The solution is: ', rows[0]); //res.send('user id is:'+req.params.id); res.render('user.jade', { title : 'User List', user : rows }); //console.log('The solution is: ', rows); }); connection.release(); });});//新增测试app.get('/create', function(req, res) { res.render('create.jade', { title : 'Create a new user' });});app.post('/create', function(req, res) { pool.getConnection(function(err, connection) { connection.query('insert into ss_user set ?', { id : req.body.user.id, login_name : req.body.user.login_name, name : req.body.user.name, password : req.body.user.password }, function(err, fields) { if (err) throw err; //console.log('Insert is success.'); //req.flash('info','User created'); }); connection.release(); res.redirect('/');  });});//修改操作。修改指定id的数据app.get('/update/:id', function(req, res) { pool.getConnection(function(err, connection) { connection.query('SELECT * from ss_user where id=?',[req.params.id],function(err, rows, fields) { if (err) throw err; console.log('search is success.'); res.render('create.jade', { title : 'Update user', user : rows[0] }); }); connection.release(); });});app.post('/update', function(req, res) { pool.getConnection(function(err, connection) { connection.query('update ss_user set ? where id = ?', [{ id : req.body.user.id, login_name : req.body.user.login_name, name : req.body.user.name, password : req.body.user.password },req.body.user.id], function(err, fields) { if (err) throw err; //console.log('Insert is success.'); }); connection.release(); res.redirect('/'); });});//删除操作。删除指定id的数据app.get('/delete/:id', function(req, res) { pool.getConnection(function(err, connection) { connection.query('delete from  ss_user  where id = ?', [req.params.id], function(err, fields) { if (err) throw err; }); connection.release(); res.redirect('/'); });});//链接数据库测试 end

6、新增jade模版文件

user.jade

extends layoutblock content	h1= title	mixin users(users)		fieldset		legend Welcome to #{title}		table.mytable			th ID			th Name			th Opt				each user in users					tr							td= user.id						td #{user.login_name}						td 							a(href='/delete/#{user.id}', class='btn btn-primary') Delete							a(href='/update/#{user.id}', class='btn btn-primary') Update		a(href='/create', class='btn btn-primary') Add a User						- users = user	mixin users(users)

create.jade

extends layoutblock content	h1=title	-	userVar = user	-	if(userVar)		form(method='post',action='/update')			fieldset				legend=title				div.clearfix					label LoginName					div.input						input(name='user[login_name]',class='xlarge',value=user.login_name)					label Name					div.input						input(name='user[name]',class='xlarge',value=user.name)					label Password					div.input						input(name='user[password]',class='xlarge',value=user.password)				div.actions					input(type='submit',value='Save',class='btn primary')					button(type='reset',class='btn') Cancel	-	else		form(method='post',action='/create')			fieldset				legend=title				div.clearfix					label Id					div.input						input(name='user[id]',class='xlarge')					label LoginName					div.input						input(name='user[login_name]',class='xlarge')					label Name					div.input						input(name='user[name]',class='xlarge')					label Password					div.input						input(name='user[password]',class='xlarge')				div.actions					input(type='submit',value='Add',class='btn primary')					button(type='reset',class='btn') Cancel

7、测试结果

广告 广告

评论区