express+mysqle
var mysql=require('mysql');
var connection=mysql.createConnection({
host:'',//地址
port:'',//端口号
user:'',//用户名
password:'',//密码
database:'',//表名
connectionLimit:100//最大连接数
});
connection.connect();//链接数据库
// 断开数据库--程序结束执行
// connection.end(function(err){
// console.log(err);
// })
var express = require('express') ;
var app = express();
app.all('*', function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
res.header("X-Powered-By",' 3.2.1')
if(req.method=="OPTIONS") res.send(200);/*让options请求快速返回*/
else next();
});
/*
获取数据
*/
app.get('/node/getItem',function(req,res){
var sql='SELECT * FROM test_db';
connection.query(sql, function (error, results) {
if(error){
console.log('[SELECT ERROR] - ',error.message);
return;
}
// var results=results[0];
// console.log(results);
var data={
code:0,
datas:results
}
res.send(data);
});
})
/*
存数据
*/
app.get('/node/setItem',function(req,res){
var addSql='INSERT INTO test_db (H,W,time) VALUES(?,?,?)';
var addParams=[];
for(var k in req.query){
addParams.push(req.query[k])
}
var sql='SELECT * FROM test_db';
connection.query(sql, function (error, results) {
if(error){
console.log('[SELECT ERROR] - ',error.message);
return;
}
for(var i=0;i<results.length;i++){
if(results[i].time==req.query.time){
res.send({
code:-1,
msg:'日期不能重复'
});
return;
}else{ }
}
connection.query(addSql,addParams, function (error, results) {
if(error){
console.log('[ADD ERROR] - ',error.message);
return;
}
console.log(results);
res.send({
code:0
});
return; });
}); })
/*
更新数据
*/
app.get('/node/undateItem',function(req,res){
console.log(req.query);
var updateSql='UPDATE test_db SET H=?,W=? WHERE time=?';
var addParams=[];
for(var k in req.query){
addParams.push(req.query[k])
}
console.log(addParams);
connection.query(updateSql,addParams, function (error, results) {
if(error){
console.log('[[UPDATE ERROR]] - ',error.message);
return;
}
// console.log(results);
res.send({
code:0
}); });
})
var server = app.listen(80,function(){
var host = server.address().address;
var port = server.address().port;
console.log('服务端口',host,port);
})
这个demo并没有设置容错机制
express+mysqle的更多相关文章
- 如何安全的将VMware vCenter Server使用的SQL Server Express数据库平滑升级到完整版
背景: 由于建设初期使用的vSphere vCenter for Windows版,其中安装自动化过程中会使用SQL Server Express的免费版数据库进行基础环境构建.而此时随着业务量的增加 ...
- 【原】无脑操作:express + MySQL 实现CRUD
基于node.js的web开发框架express简单方便,很多项目中都在使用.这里结合MySQL数据库,实现最简单的CRUD操作. 开发环境: IDE:WebStorm DB:MySQL ------ ...
- Express 教程 01 - 入门教程之经典的Hello World
目录: 前言 一.Express?纳尼?! 二.开始前的准备工作 三.测试安装之经典的Hello World 四.使用express(1)来生成一个应用程序 五.说明 前言: 本篇文章是建立在Node ...
- VisualStudio 2015 开启IIS Express可以调试X64项目
现在项目开发时总有时需要在X64下开发,这样我们就需要IIS Express中调试.不要总是放在IIS中,在Attach这样好慢. 如果不设置直接调试X64的程序,我们有可能会受到以下类似的错误 ...
- Node.js Express连接mysql完整的登陆注册系统(windows)
windows学习环境: node 版本: v0.10.35 express版本:4.10.0 mysql版本:5.6.21-log 第一部分:安装node .Express(win8系统 需要&qu ...
- Node.js实现RESTful api,express or koa?
文章导读: 一.what's RESTful API 二.Express RESTful API 三.KOA RESTful API 四.express还是koa? 五.参考资料 一.what's R ...
- express全局安装后无法通过require使用
今天入门了一下express,首先安装依赖. npm install express -g; npm install body-parser -g; npm install cookie-parser ...
- 初步认识Node 之Express
通过本文,你会对Express有一个较为具体的了解. 起源 2009年6月26日,TJ Holowaychuk提交了Express的第一次commit,接下来在2010年1月2日,有660次co ...
- 安装nodejs express框架时express命令行无效
我也是看了这篇才明白.http://jingyan.baidu.com/article/922554468a3466851648f419.html 最近在看一本书,nodejs开发指南.至于出现这个问 ...
随机推荐
- Android WebView编程的那些坑(一)
最大的坑是ROM不同,webkit不同,差异性很大.再加上google的坑,真是坑上加坑.比如js注入问题,比如client回调接口时序问题, 比如内存回收问题,etc 1.内存泄漏问题,尤其注意An ...
- sudo:无法解析主机 解决方案
你如果电脑中没有vim,用gedit也可以. 打开文件以后,将其中的 127.0.1.1 xxxxx xxx 替换成你电脑的自己的名字即可.
- php session函数
session_start() 开启session 使用session前需要使用该函数 session_id() 获取当前回话的sessionid session_save_path($path) 如 ...
- 基于am3358的led跑马灯测试
#include <sys/ioctl.h> #include<stdio.h> #include <fcntl.h> #include <sys/types ...
- Flex中的DataGrid报错(一)
1.错误描述 此行的多个标记: -holeNum -1105: 赋值的目标必须是引用值. 2.错误原因 detailWindow.holeNum.toString() = &q ...
- Axure RP一个专业的快速原型设计工具
Axure RP是一个专业的快速原型设计工具.Axure(发音:Ack-sure),代表美国Axure公司:RP则是Rapid Prototyping(快速原型)的缩写. Axure简要介绍 Axur ...
- CentOS 5.x 多个ISO文件 安装方法(VMware)
CentOS下载地址:http://mirror.centos.org/centos/ CentOS版本:5.11 VMware版本:11.1.0 CentOS 5.11有两个ISO: CentOS- ...
- 两个map一个reduce(两个输入文件)
两个map,一个map读取一个hdfs文件,map完之后进入一个reduce进行逻辑处理. package com.zhongxin.mr; import org.apache.commons.lan ...
- tp5怎么实现搜索分页能保留搜索条件
$profit=Db::view('profit','settlement_time,money,balance_account,balance_account1,did,user') ->vi ...
- RobotFramework下的http接口自动化Follow Response关键字的使用
Follow Response 关键字用于处理http中的重定向请求,常见的http 重定向请求包含http code为301和302 两种重定向请求,代表着某个URL地址发生了转移. http co ...