博客
关于我
强烈建议你试试无所不能的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

    你可能感兴趣的文章
    运行客户端程序报读取配置文件出错的解决方案
    查看>>
    day 5 - 2 字典(dict)练习
    查看>>
    微引擎的自定义菜单40063错误解决
    查看>>
    JAVA wait(), notify(),sleep具体解释
    查看>>
    数据挖掘十大经典算法
    查看>>
    WebService原理
    查看>>
    【Unity 3D】学习笔记三十七:物理引擎——碰撞与休眠
    查看>>
    js动态删除div元素
    查看>>
    计算机网络中的TCP/IP模型
    查看>>
    spring mvc 自定义Handlermapping
    查看>>
    JS验证密码安全级别
    查看>>
    Cookie是可以覆盖的,如果重复写入同名的Cookie,那么将会覆盖之前的Cookie。
    查看>>
    Django Models的数据类型
    查看>>
    博客之初体验-----python初了解
    查看>>
    jquery.fileupload插件 ie9下不支持上传
    查看>>
    6.1 HTML5的框架
    查看>>
    Nginx的500,502,504错误解决方法
    查看>>
    SAP MM MM17里不能修改物料主数据'Purchasing Value Key'字段值?
    查看>>
    python 基础语法知识(一)
    查看>>
    ssh整合
    查看>>