//1:加载相应的模块 http url fs mysql
const http = require("http");
const url = require("url");
const fs = require("fs");
const mysql = require("mysql");
//2:创建连接池
var pool = mysql.createPool({
host:'127.0.0.1',
user:'root',
password:'',
database:'jd',
connectionLimit:5 //连接池大小
});
//3:创建服务器
var server = http.createServer();
server.listen(80);
//4:为服务器注册事件request
//参数 req 请求对象(客户信息)
//参数 res 响应对象(服务器信息)
server.on('request',(req,res)=>{
//5:解析参数
var objUrl = url.parse(req.url,true);
//6:获取请求地址
var path = objUrl.pathname;
//7:设置响应头信息格式
res.setHeader('content-type','text/html;charset=utf-8');
//8:判断路径
if(path==='/register'){
//9:异步读取文件
fs.readFile("./public/register.html",(err,data)=>{
if(err)throw err;
res.end(data);
});
}else if(path==='/register.do'){
var n = objUrl.query.uname;
var p = objUrl.query.upwd;
//10:从连接池中获取一个连接
pool.getConnection((err,conn)=>{
if(err){
console.log("从连接池中获取连接失败");
}else{
//11:发送sql语句
conn.query("INSERT INTO jd_user VALUES(null,?,?)",
[n,p],(err,result)=>{
if(err){
console.log("sql语句执行失败");
}else{
console.log("执行成功");
}
//12:释放连接
conn.release();
});
}
});

}

});

//4:解析参数如果请求 register 返回register.html
//5: register 添加数据库

Node 连接池pool的更多相关文章

  1. [nodejs]解决mysql和连接池(pool)自动断开问题

    最近在做一个个人项目,数据库尝试使用了mongodb.sqlite和mysql.分享一下关于mysql的连接池用法.项目部署于appfog,项目中我使用连接池链接数据库,本地测试一切正常.上线以后,经 ...

  2. rpc框架之 thrift连接池实现

    接前一篇rpc框架之HA/负载均衡构架设计 继续,写了一个简单的thrift 连接池: 先做点准备工作: package yjmyzz; public class ServerInfo { publi ...

  3. DBCP数据源连接池实现原理分析

    前些天在调试公司系统的时候发现这样的一个问题:mysql数据库服务停止一段时间后再次重启后吗,tomcat服务无法请求数据库服务,调试了半天对这个问题进行定位解决,期间也搞了很多有关mysql数据库的 ...

  4. nodejs的mysql模块学习(八)关闭连接池

    关闭连接池 可以用pool.end()关闭连接池 pool.end(function (err) { // 所有的连接都已经被关闭 }); 当关闭之后pool将不可以getconnection()

  5. java操作redis redis连接池

    redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...

  6. 连接池 DBCP c3p0以及分页的案例

    1. 连接池 思考: 程序中连接如何管理? 连接资源宝贵:需要对连接管理 连接: a) 操作数据库,创建连接 b) 操作结束,  关闭! 分析: 涉及频繁的连接的打开.关闭,影响程序的运行效率! 连接 ...

  7. java客户端Jedis操作Redis Sentinel 连接池

    pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...

  8. 《深入理解mybatis原理》 Mybatis数据源与连接池

    对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构进行详尽的分析,并且深入解析MyBatis的连接池. 本文首先会讲述MyB ...

  9. 《深入理解mybatis原理3》 Mybatis数据源与连接池

    <深入理解mybatis原理> Mybatis数据源与连接池 对于ORM框架而言,数据源的组织是一个非常重要的一部分,这直接影响到框架的性能问题.本文将通过对MyBatis框架的数据源结构 ...

随机推荐

  1. docker swarm英文文档学习-8-在集群中部署服务

    Deploy services to a swarm在集群中部署服务 集群服务使用声明式模型,这意味着你需要定义服务的所需状态,并依赖Docker来维护该状态.该状态包括以下信息(但不限于): 应该运 ...

  2. Oracle Drop表并未直接删除 drop table xx purge

    drop表 执行drop table xx 语句     drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉.这样,回收站里的表信息就可以被恢复,或彻底清除.     通 ...

  3. MYSQL联合多表更新和删除(转)

    文章转自http://www.cnblogs.com/andy_tigger/archive/2011/05/11/2043483.html 多表更新在 MySQL 3.23 中,你可以使用 LIMI ...

  4. MP实战系列(二)之集成swagger

    其实与spring+springmvc+mybatis集成swagger没什么区别,只是之前写的太不好了,所以这次决定详细写. 提到swagger不得不提rest,rest是一种架构风格,里面有对不同 ...

  5. Qt Creator中如何选择某个子项目为启动项目

    Qt Creator中的子目录项目类似于Visual Studio中的Solution(解决方案),可以用来管理多个子项目.但是在Qt Creator IDE中由不能像Visual Studio中那样 ...

  6. QT显示url图片

    QT 显示网络图片我目前的办法就是先下载下来 然后显示  如果有好的办法请相互交流一下 需要调用的头文件 #include <QNetworkAccessManager> #include ...

  7. 使用HttpClient和Jsoup实现一个简单爬虫

    一直很想了解一下爬虫这个东西的,完全是出于兴趣,其实刚开始是准备用python的,但是由于种种原因选择了java,此处省略很多字... 总之,如果你想做一件事情的话就尽快去做吧,千万不要把战线拉得太长 ...

  8. 浅谈Java泛型中的extends和super关键字

    泛型是在Java 1.5中被加入了,这里不讨论泛型的细节问题,这个在Thinking in Java第四版中讲的非常清楚,这里要讲的是super和extends关键字,以及在使用这两个关键字的时候为什 ...

  9. sql新语句

    SQL语句查找重复数据的写法:  select partner_id,* from sale_origin where partner_id in (select   partner_id from  ...

  10. NOIP2002-2017提高组题解

    给个人认为比较难的题目打上'*' NOIP2002(clear) //一个很吼的贪心题,将平均数减掉之后从左往右将影响消除 #include<bits/stdc++.h> using na ...