博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs使用案例-mysql操作
阅读量:4626 次
发布时间:2019-06-09

本文共 5482 字,大约阅读时间需要 18 分钟。

1、package.json:

{  "scripts": {    "start": "node app.js"  },  "devDependencies": {    "body-parser": "^1.17.1",    "ejs": "^2.5.6",    "express": "^4.15.2",    "express-session": "^1.15.1",    "mysql": "^2.13.0",    "session": "^0.1.0"  }}

2、db.js:

var mysql = require('mysql');//导入mysql模块var db=mysql.createConnection({ //连接mysql数据库	host:'localhost',	user:'root',	password:'123456',	database:'test',  //数据库名字	port:3306});db.connect((err)=>{	if(err){		console.log('connect fail')	}else{		console.log('connect suc')	}});module.exports=db;

3、app.js:

var express = require('express');var app = express();var gets = require('./modle.js');var bodyParser = require('body-parser');var session = require('express-session')app.use(session({	secret: 'shixinke',	resave: true,	saveUninitialized: false,	cookie: {		secure: false	}})); //这部分代码可以让你使用sessionapp.engine('.html', require('ejs').__express);app.set('view engine', 'html');app.set('views', __dirname + '/views'); //模板引擎启用app.use(bodyParser.json());app.use(bodyParser.urlencoded());  //这部分可以让你使用接收post数据app.get('/', function(req, res, next) { //路由,然后调用相应的modle.js里的方法	gets.showArticleHome(req, res, next)})app.get('/login', function(req, res, next) {	res.render('login');})app.get('/outlogin', function(req, res, next) {	req.session.sign = false;	res.redirect('/');})app.post('/loginif', function(req, res, next) {	gets.loginif(req, res, next);})app.set('trust proxy', 1) // trust first proxyapp.get('/list', function(req, res, next) {	if (req.session.sign) {		gets.showArticle(req, res, next)	} else {		res.send('you don,t have login')	}})app.get('/article/:id', function(req, res, next) {	gets.showArticleInfo(req, res, next)})app.get('/write', function(req, res, next) {	gets.subForm(req, res, next)})app.post('/subform', function(req, res, next) {	gets.saveArticle(req, res, next);})app.get('/delete/:id', function(req, res, next) {	gets.deleteArticle(req, res, next);})app.get('/edit/:id', function(req, res, next) {	if (req.session.sign) {		gets.editArticle(req, res, next);	}else{		res.send('you don,t have login in')	}})app.post('/update', function(req, res, next) {	gets.updateArticle(req, res, next);})app.listen(8000)

4、modle.js:

var db = require('./db.js');var gets = {};gets.loginif=(req,res,next)=>{	var userInfo=req.body.userinfo;	console.log(userInfo,'sdflksjfd')	var qry="select count(*) as num from admin where user='"+userInfo.user+"' and password='"+userInfo.psd+"'";	db.query(qry,function(err,result){		if(err){			console.log('err');			return;		}		if(result[0].num>=1){			req.session.sign = true;		}		res.send(result)	})}gets.findAll = (req, res, next) => {	var qry = "select * from user";	var qry2 = "select * from user_next";	db.query(qry, function(err, result) {		if (err) {			console.log('err');			return;		}		db.query(qry2, function(err, result2) {			res.render('home', {				data: result,				data2: result2,				title: 'home'			});		})	});}gets.subForm = (req, res, next) => {	res.render('write', {})}gets.showArticle = (req, res, next) => {	db.query('select * from article', function(err, result) {		if (err) {			console.log('not get article')			return;		}		res.render('list', {			data: result		})	})}gets.showArticleHome = (req, res, next) => {	db.query('select * from article', function(err, result) {		if (err) {			console.log('not get article')			return;		}		res.render('home', {			data: result		})	})}gets.showArticleInfo = (req, res, next) => {	var id = req.params.id;	db.query("select * from article where id=" + id + "", function(err, result) {		if (err) {			console.log('not get article')			return;		}		res.render('info', {			data: result		})	})}gets.saveArticle = (req, res, next) => {	var formdata = req.body.formdata;	console.log(typeof(formdata.tit));	var str = formdata.con;	str = str.replace(/\"/g, " ");	str = str.replace(/"/g, "'");	str = str.replace(/&/g, "");	str = str.replace(/lt;/g, "<");	str = str.replace(/gt;/g, ">");	str = str.replace(/\&/g, "");	str = str.replace(/\n/g, "
"); var qry = "insert into article (title,content) values ('" + formdata.tit + "', '" + str + "')"; db.query(qry, function(err, result) { if (err) { console.log('err') return; } res.send({ state: true }) })}gets.updateArticle = (req, res, next) => { var formdata = req.body.formdata; var str = formdata.con; str = str.replace(/\"/g, " "); str = str.replace(/"/g, "'"); str = str.replace(/&/g, ""); str = str.replace(/lt;/g, "<"); str = str.replace(/gt;/g, ">"); str = str.replace(/\&/g, ""); str = str.replace(/\n/g, "
"); var qry = "update article set title='"+formdata.tit+"',content='"+str+"' where id='"+req.body.id+"'"; db.query(qry, function(err, result) { if (err) { console.log('err') return; } res.send({ state: true }) })}gets.deleteArticle = (req, res, next) => { var delId=req.params.id; var qry="delete from article where id="+delId+""; db.query(qry, function(err, result) { if (err) { console.log('err') return; } res.redirect('/list') })}gets.editArticle = (req, res, next) => { var editId=req.params.id; console.log(editId,'dksfdksfj') var qry="select * from article where id="+editId+""; db.query(qry, function(err, result) { if (err) { console.log('err') return; } res.render('edit',{ data:result }) })}module.exports = gets;

5、home.html:

	article<% data.forEach(function(item){%>	
  • <%=item.title%>
  • <%})%>

    6、login.html:

    	login

      

    转载于:https://www.cnblogs.com/jocongmin/p/6668153.html

    你可能感兴趣的文章
    Wiz开发 定时器的使用与处理
    查看>>
    在Windows 7下面IIS7的安装和 配置ASP的正确方法
    查看>>
    PL SQL笔记(三)
    查看>>
    Python - 1. Built-in Atomic Data Types
    查看>>
    修改ecshop的100种技巧
    查看>>
    每天一个linux命令(33):df 命令
    查看>>
    2018/11/29 一个64位操作系统的设计与实现 02 (安装nasm)
    查看>>
    java 的回调函数
    查看>>
    dp uva1218
    查看>>
    Codeforces Round #308 (Div. 2) C. Vanya and Scales dfs
    查看>>
    大数据【四】MapReduce(单词计数;二次排序;计数器;join;分布式缓存)
    查看>>
    (转载)深入浅出设计模式——桥接模式(Bridge Pattern)
    查看>>
    Windbg双机调试环境配置(Windows7/Windows XP+VirtualBox/VMware+WDK7600)
    查看>>
    iOS 缓存策略
    查看>>
    异常处理
    查看>>
    BestCoder Round #65 B C D || HDU 5591 5592 5593
    查看>>
    PHP5.5.13 + Apache2.4.7安装配置流程详解
    查看>>
    [THUWC2017]随机二分图
    查看>>
    软件测试实验一
    查看>>
    java io读书笔记(6) Writing Arrays of Bytes
    查看>>