nodejs连接数据库的增删改查
连接数据库后需要用代码操作的是,传入mysql语句,和参数,然后就是回调了
新增
// 新增
app.post('/process_post', urlencodedParser, function (req, res) { //post处理方法
var response = {
"names":req.body.names, //得到页面提交的数据
"passwords":req.body.passwords
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: '数据库地址',
user: '用户名',
password: '密码',
database: '数据库名称'
})
connection.connect(); //连接
//插入數據
var addSql = "insert into formtable(name,password) values(?,?)"; //mysql语句
var addParmas = [response.names, response.passwords];//传递参数进入
connection.query(addSql, addParmas, function(err, res) {
if(err) {
console.log("[insert error]-", err.message);
return;
}else{
show(res)//回调
}
})
function show(arr){
result.data=arr;
res.json(result);//返回给前端
res.end();
} })
上面的urlencodedParser是一个编码解释工具
删除
//删除数据
app.post('/del', urlencodedParser, function (req, res) { //post处理方法
var response = {
"ids":req.body.id //得到页面提交的数据
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: '数据库地址',
user: '用户名',
password: '密码',
database: '数据库名称'
})
connection.connect(); //连接
var userDelSql = 'DELETE FROM formtable WHERE id = ?';
var addParmas = [response.ids];
connection.query(userDelSql,addParmas,function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
})
查询
// 初始化
app.post('/init', urlencodedParser, function (req, res) { //post处理方法
var response = {
"names":req.body.names //得到页面提交的数据
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: '数据库地址',
user: '用户名',
password: '密码',
database: '数据库名称'
})
connection.connect(); //连接
var selectSql = "select * from formtable";
connection.query(selectSql, function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
})
修改
//修改数据
app.post('/modify', urlencodedParser, function (req, res) { //post处理方法
var response = {
"ids":req.body.ids, //得到页面提交的数据
"names":req.body.names,
"passwords":req.body.passwords
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: '数据库地址',
user: '用户名',
password: '密码',
database: '数据库名称'
})
connection.connect(); //连接
var userModSql = 'UPDATE formtable SET name = ?,password = ? WHERE id = ?';
var addParmas = [response.names,response.passwords,response.ids];
console.log(addParmas);
connection.query(userModSql,addParmas,function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
})
以上的"/modify" '/del' '/init''/process_post'这个四个就是四个接口,看完上面四个你就会觉得连接数据库增删改查没有什么的,当然啦,关于里面的方法你可以自己进行封装一下啦,增加他的复用性
完整代码
//表單提價
from_submit(); //为了方便管理我用函数包起来调用
var result = {
"status": "200",
"message": "success",
}
//表單提價
function from_submit(){
var express = require('express'); //调用模板
var app = express(); //不污染本来,用变量来表示
var bodyParser = require('body-parser'); //调用模板
var mysql = require('mysql'); app.use(express.static('public')); //设置今天文件目录 // app.get('/form_index.html',function(req,res){
// res.sendFile(__dirname+"/"+form_index.html); //提供静态文件
// })
//设置跨域访问
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1');
res.header("Content-Type", "application/json;charset=utf-8");
next();
}); //創建編碼解析
var urlencodedParser = bodyParser.urlencoded({ extended: false })
// 新增
app.post('/process_post', urlencodedParser, function (req, res) { //post处理方法 // 输出 JSON 格式
var response = {
"names":req.body.names, //得到页面提交的数据
"passwords":req.body.passwords
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
})
connection.connect(); //连接
//插入數據
var addSql = "insert into formtable(name,password) values(?,?)"; //存放数据库语言的,这里是添加
var addParmas = [response.names, response.passwords];
connection.query(addSql, addParmas, function(err, res) {
if(err) {
console.log("[insert error]-", err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
} })
// 初始化
app.post('/init', urlencodedParser, function (req, res) { //post处理方法
// 输出 JSON 格式
var response = {
"names":req.body.names //得到页面提交的数据
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
})
connection.connect(); //连接
var selectSql = "select * from formtable";
connection.query(selectSql, function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
})
//删除数据
app.post('/del', urlencodedParser, function (req, res) { //post处理方法
// 输出 JSON 格式
var response = {
"ids":req.body.id //得到页面提交的数据
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
})
connection.connect(); //连接
var userDelSql = 'DELETE FROM formtable WHERE id = ?';
var addParmas = [response.ids];
connection.query(userDelSql,addParmas,function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
})
//修改数据
app.post('/modify', urlencodedParser, function (req, res) { //post处理方法
// 输出 JSON 格式
var response = {
"ids":req.body.ids, //得到页面提交的数据
"names":req.body.names,
"passwords":req.body.passwords
};
//鏈接數據庫
var mysql = require("mysql");
var connection = mysql.createConnection({ //配置参数,然后添加你的数据库里面的表
host: 'localhost',
user: 'root',
password: 'root',
database: 'test'
})
connection.connect(); //连接
var userModSql = 'UPDATE formtable SET name = ?,password = ? WHERE id = ?';
var addParmas = [response.names,response.passwords,response.ids];
console.log(addParmas);
connection.query(userModSql,addParmas,function(err, res) {
if(err) {
console.log('[select error]-', err.message);
return;
}else{
show(res)
}
})
function show(arr){
result.data=arr;
res.json(result);
res.end();
}
}) var server = app.listen(3000, function () { //监听
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
}) }
写这个主要还是方便我自己学习啦,如果有好的建议可以一起交流或者指教我一下~
注:上面代码中的formtable 是我本地数据库的其中一个表而已,如果你的表明不是这个记得链接数据库后传入的mysql语句中修改一下
nodejs连接数据库的增删改查的更多相关文章
- nodejs+express+mysql 增删改查
之前,一直使用的是nodejs+thinkjs来完成自己所需的项目需求,而对于nodejs中另外一中应用框架express却了解的少之又少,这两天就简单的了解了一下如何使用express来做一些数据库 ...
- 简单实现 nodejs koa2 mysql 增删改查 制作接口
1.首先 在电脑上安装 nodejs (此处略过) 2.全局安装 koa2 (这里使用的淘宝镜像cnpm,有兴趣的同学可以自行搜索下) cnpm install koa-generator -g 3. ...
- nodejs+express+mysql 增删改查(二)
1.最早一篇关于express框架简单的增删改查文章,http://www.cnblogs.com/zhengyeye/p/nodejs.html#3947308:意外走红博客园,无奈自己之前一直没有 ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...
- BaseDao代码,用于连接数据库实行增删改查等操作
在学习JavaWeb时会用到此代码,用于实行增删改查操作 1 package com.bdqn.dao; import java.sql.Connection; import java.sql.Dri ...
- JDBC连接数据库及增删改查操作
什么是JDBC?Java语言访问数据库的一种规范,是一套APIJDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类 ...
- Java连接数据库,增删改查
底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...
- Nodejs操作MySQL - 增删改查
先安装npm模块项目 npm init 安装mysql npm install mysql --save Nodejs 连接msyql // 导入mysql const mysql = require ...
- ListView 连接数据库的增删改查
private string link = "server=.;database=list;user=sa;pwd=123"; public void chaxun() //创建一 ...
随机推荐
- 23. 合并K个排序链表
一种方法是分治 类似快排的例子. 第二种使用堆,比较好理解. 堆中保存一个元素是一个链表的头部. /** * Definition for singly-linked list. * public ...
- HDU 5950 - Recursive sequence - [矩阵快速幂加速递推][2016ACM/ICPC亚洲区沈阳站 Problem C]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5950 Farmer John likes to play mathematics games with ...
- [No000016D]把知识种进脑子:像读教材一样读书
读书,常常是书读一遍,过后脑子却空白一片.旁人问起感受,只能以不错.很好作答.更有甚者,有时翻阅豆瓣才发现一本书竟早已「读过」,这事儿可真叫尴尬.为了对付这症状,我笔记也做过,思维导图也画过,奈何只是 ...
- [No0000155]为什么32位机器最大只能用到4GB内存
在此之前先来了解一些计算机存储单位之间的关系以及计算机系统结构和PC硬件方面的一些知识. 一.计算机存储单位之间的关系 ,最小的存储单位. 个二进制位为一个字节(B),即1B = 8bit,最常用的单 ...
- CSS:元素类型
元素分类 在CSS中,html中的标签元素大体分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 块状元素 <div>.<p>.<h1>...& ...
- Ollydbg
1.用来查看dll文件的信息,取代现在使用的exescope;
- 九九乘法表python3写入文件中
写入文件代码如下: with open("e:\\test01.txt","w+",encoding="utf-8") as wq: for ...
- 如何解决selenium打开chrome提示chromedriver.exe已停止工作
场景:启动Chrome,打开URL,提示“disconnected: unable to connect to renderer” 解决方法:chromedriver与chrome的对应关系表, 需要 ...
- 重写Object的equals方法
Object的equals比较两个对象是否相同,没有重写时比较的是内存地址是否相同(==). 但我们有时候比较的是两个对象中的属性是否相同, 重写equals: package cn.sasa.dem ...
- 终于解决“Git Windows客户端保存用户名与密码”的问题(转载)
add by zhj:不建议用这种方法,建议用SSH,参见 TortoiseGit密钥的配置 http://www.cnblogs.com/ajianbeyourself/p/3817364.html ...