js中require()的⽤法----JS如何连接数据库执⾏sql语句或者建
⽴数据库连接池
varvue=require('vue');
引⼊vue的意思,commonjs的写法。node都是⽤require来载⼊模块的,可以看看webpack+vue。
require()可以调⽤模块。
这不是就把vue模块命了个名吗?
nodejs的写法,引⼊vue模块并命名为vue的意思。前端的东西,⼤多都是跑在nodejs上的,所以引⽤模块⽅式就必须按照nodejs标准
===================================================================
---------------直连mysql-------------
varrouter=function(app){
('/one',function(req,res){
eader(200,{'Content-Type':'text/plain;chart=UTF-8'});
//le("/Urs/wofu/Desktop/node/views/");
("ddd");
varmysql=require('mysql');//调⽤mysql模块
//创建⼀个connection数据库连接对象
varconnection=Connection({
host:'localhost',//主机
ur:'root',//mysql认证的⽤户名
password:'123456',//mysql⽤户密码
databa:'firstDB',//数据库名
port:'3306'//端⼝号
});
//链接数据库
t(function(err){
if(err){
(err);
return;
}el{
("数据库连接成功");
();
}
});
//插⼊数据,,update和delete跟inrt类似
varname="lamb9";
varages=30;
varurAddSql='inrtintopeople(name,ages)values(?,?)';
varparams=[name,ages];
******加参数的⽅法,应⽤于sql语句中有?占位符的情况
(urAddSql,params,function(err,rs){
if(err){
(e);
return;
}el{
("插⼊成功");
(rs);
}
});
//*****query语句不加第⼆个参数************************************
varnam="lamb10";
varag=30;
varurAddSql='inrtintopeople(name,ages)values("lambo10",20)';
(urAddSql,function(err,rs){
if(err){
(e);
return;
}el{
("插⼊成功");
(rs);
}
});
//删除---query带参数**********************************************
varurdeletSql='deletefrompeoplewhereid=?';
varupparams=6;
(urdeletSql,upparams,function(err,rs,fields){
if(err){
(err);
return;
}el{
("删除成功");
}
});
//删除---query不带参数***************************************************
varurdeletSql='deletefrompeoplewhereid=7';
(urdeletSql,function(err,rs,fields){
if(err){
(err);
return;
}el{
("删除成功");
}
});
//查询-----query带参数************************************************
varurinrtSql='SELECT*frompeoplewherename=?';
varinrtparams='lambo';
(urinrtSql,inrtparams,function(err,rs,fields){
if(err){
(err);
return;
}el{
("查询成功");
for(vari=0;i<;i++){
(rs);
(rs[0].name);//rs是查询的结果集,是⼀个⼆维数组,第⼀维是⼀条记录,第⼆维是⼀条记录中的各字段值
}
}
});
///qurey不带参数************************************************
varurinrtSql='SELECT*frompeoplewherename="lambo"';
(urinrtSql,function(err,rs,fields){
if(err){
(err);
return;
}el{
("查询成功");
for(vari=0;i<;i++){
(rs);
(rs[0].name);//rs是查询的结果集,是⼀个⼆维数组,第⼀维是⼀条记录,第⼆维是⼀条记录中的各字段值
}
}
});
//更新---query带参数**********************************************
varurupdatetSql='updatepeopletages=?wherename=?';
varupparams=[23,"four"];
(urupdatetSql,upparams,function(err,rs,fields){
if(err){
(err);
return;
}el{
("更新成功");
}
});
//更新---query不带参数***************************************************
varurupdatetSql='updatepeopletages=24wherename="four"';
(urupdatetSql,function(err,rs,fields){
if(err){
(err);
return;
}el{
("更新成功");
}
});
//关闭连接
(function(err){
if(err){
(ng());
return;
}el{
("关闭连接");
}
});
});
};
=router;
=======================连接池连接mysql=====================
连接池的原理:初始化的时候创建多个连接,放到数组中存起来;当有访问数据的时候,不⽤再创建连接,直接从连接池取出连接使⽤进⾏
各种数据库操作,操作关闭后再放回连接池中;连接池会⾃动管理池中的连接(当访问量少的时候,会⾃动减少⼀些连接,当访问量⼤的时
候会⾃动增加⼀些连接);
安装连接池:1.需要安装mysql:npminstallmysql-g2.需要安装mysqlpool模块npminstall-gnode-mysql
*********************创建连接池
varrouter=function(app){
varmysql=require('mysql');//调⽤mysql模块
('/one',function(req,res){
//le("/Urs/wofu/Desktop/node/views/");
eader(200,{'Content-Type':'text/plain;chart=UTF-8'});
("ddd");
//***使⽤连接池操作数据库
varPool=Pool({
host:'localhost',//主机
ur:'root',//mysql认证的⽤户名
password:'123456',//mysql⽤户密码
databa:'firstDB',//数据库名
port:'3306'//端⼝号
});
//有连接时调⽤
('connection',function(connection,err){
if(err){(err);
return;}el{("数据库连接成功");
();
}
});
//⼀个连接上的活动全部执⾏完时调⽤
('acquire',function(connection){
('Connection%dacquired',Id);
});
//等待⼀个有效队列
('enqueue',function(){
('Waitingforavailableconnectionslot');
});
//⼀个连接释放了
('relea',function(connection){
('Connection%drelead',Id);
});
////结束所有连接
//(function(err){
//if(err){
//(err);
//}el{
//("连接全部关闭");
//}
//});
//从链接池中获取⼀个连接
nection(function(err,connection){
//执⾏数据库操作增删改查和直接连接mysql⼀样
varurAddSql='inrtintopeople(name,ages)values(?,?)';
varparams=['bbb',11];
(urAddSql,params,function(err,rs){
if(err){
(e);
return;
}el{
('inrtsuccess');
("成功");
();//这句话表⽰浏览器相应结束,如果在这句话后继续向浏览器写⼊会报错,()是错误的;
}
e();//放回连接池
});
});
});
};
=router;
varrouter=function(app){
varfs=require('fs');
varhttp=require('https');
varmysql=require('mysql');//调⽤mysql模块
varrequest=require('request');
varurl=require('url');
varquerystring=require('querystring');
varbodyParr=require("body-parr");
varurlencodedParr=oded({extended:fal})
('/get',function(req,res){
//();//{name:'lambo'}
//();//lambo
//();///one?name=lambo
//(().pathname);///one
//(().query);//name=lambo
//('/one',urlencodedParr,function(req,res){
//text/html,application/json",@"text/json",@"text/javascript",@"text/html",
//@"text/xml",@"text/plain;chart=utf-8",image/png
//eader(200,{'Content-Type':'image/png;chart=UTF-8'});
eader(200,{'Content-Type':'text/html;chart=UTF-8'});
//eader(200,{'Content-Type':'application/json;chart=UTF-8'});
//输出JSON格式
varjson=ify({
"msg":"成功",
result:[{
"name":"新闻",
"site":"http:"
},{
"name":"新⼿教程",
"site":"csdnnnn"
}],
"status":"1"
}
);
(json);
(json);
(json);
//***使⽤连接池操作数据库
varPool=Pool({
host:'localhost',//主机
ur:'root',//mysql认证的⽤户名
password:'123456',//mysql⽤户密码
databa:'firstDB',//数据库名
port:'3306'//端⼝号
});
//
('connection',function(connection,err){
if(err){
(err);
return;
}el{
//("数据库连接成功");
//();
}
});
//
//监听----获得⼀个连接时调⽤
('acquire',function(connection){
('Connection%dacquired',Id);
});
//等待⼀个有效队列
('enqueue',function(){
('Waitingforavailableconnectionslot');
});
//⼀个连接释放了
('relea',function(connection){
('Connection%drelead',Id);
});
////结束所有连接
//(function(err){
//if(err){
//(err);
//}el{
//("连接全部关闭");
//}
//});
//从链接池中获取⼀个连接
nection(function(err,connection){
////*************执⾏数据库操作增删改查和直接连接mysql⼀样
////插⼊,query加占位
//varurAddSql='inrtintopeople(name,age,birthday)values(?,?,?)';
//varparams=['bbb',11,newDate()];
//(urAddSql,params,function(err,rs){
//if(err){
//(e);
//return;
//}el{
//('inrtsuccess');
//
//
//varjson=ify({
//"msg":"成功",
//result:[{
//"name":"新闻",
//"site":"http:"
//},{
//"name":"新⼿教程",
//"site":"csdnnnn"
//}],
//"status":"1"
//}
//);
//
//(json);
//();
//}
//});//****************
////******插⼊,query不加占位,直接写参数
//varnam="lamb10";
//varag=30;
//varurAddSql='inrtintopeople(name,age,birthday)values("nam",21,now())';
//(urAddSql,function(err,rs){
//if(err){
//(e);
//return;
//}el{
//("插⼊成功");
//(rs);
//}
//});//*********
////*****删除---query加占位**********************************************
//varurdeletSql='deletefrompeoplewhereid=?';
//varupparams=269;
//(urdeletSql,upparams,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("删除成功");
//
//}
//});//**************
//
////删除---query不加占位**************************************************
//varurdeletSql='deletefrompeoplewhereid=7';
//(urdeletSql,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("删除成功");
//
//}
//});//*************
//
////查询-----query带占位************************************************
//varurinrtSql='SELECT*frompeoplewherename=?';
//varinrtparams='lambo2';
//(urinrtSql,inrtparams,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("查询成功");
//for(vari=0;i<;i++){
//(rs);
//(rs[0].name);//rs是查询的结果集,是⼀个⼆维数组,第⼀维是⼀条记录,第⼆维是⼀条记录中的各字段值
//}
//}
//});//**********************
//
//
/////查询----不带占位************************************************
//varurinrtSql='SELECT*frompeoplewherename="bbb"';
//(urinrtSql,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("查询成功");
//for(vari=0;i<;i++){
//(rs);
//(rs[0].name);//rs是查询的结果集,是⼀个⼆维数组,第⼀维是⼀条记录,第⼆维是⼀条记录中的各字段值
//}
//}
//});//***************************
//
////更新---带占位**********************************************
//varurupdatetSql='updatepeopletage=?wherename=?andid=?';
//varupparams=[23,"lambo2",3];
//(urupdatetSql,upparams,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("更新成功");
//
//}
//});//*******************
//
////更新---不带占位***************************************************
//varurupdatetSql='updatepeopletage=24wherename="lambo2"andid=11';
//(urupdatetSql,function(err,rs,fields){
//if(err){
//(err);
//return;
//}el{
//("更新成功");
//
//}
//});//******************
////关闭当前的连接连接
//(function(err){
//if(err){
//(ng());
//return;
//}el{
//("关闭连接");
//}
//});
e();//放回连接池
});//poolconnect
});//get请求
};
=router;
本文发布于:2022-11-12 04:48:39,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/2403.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |