1.

 using System;
using System.Collections;
using MySql.Data.MySqlClient; namespace Helper
{
/// <summary>
/// MySQL连接池
/// </summary>
public static class MySQLConnPool
{
//private static string connStr = "server=localhost;User ID=root;Password=qwer1234;database=test;";//连接字符串
private static ArrayList poolLs = new ArrayList();//连接池
private static int max = ;//连接池最大数量 /// <summary>
/// 获取连接对象
/// </summary>
/// <param name="connStr">数据库连接字符串</param>
/// <returns></returns>
public static MySqlConnection GetConn(string connStr)
{
lock (poolLs)
{
MySqlConnection retConn = null;//超出线程池大小限制时返回null
if (poolLs.Count > )
{
retConn = (MySqlConnection)poolLs[];//获取池中第一个
poolLs.RemoveAt();//从池中移除
}
else
{
retConn = new MySqlConnection(connStr);//连接池中没有连接,创建一个
retConn.Open();
}
return retConn;
}
} /// <summary>
/// 关闭连接或添加到连接池
/// </summary>
/// <param name="conn"></param>
public static void Close(MySqlConnection conn)
{
lock (poolLs)
{
if (poolLs.Count < max)//连接池只保留最大数量的连接
{
poolLs.Add(conn);//连接池数量小于限制,将连接添加到连接池
}
else
{
conn.Close();//线程池超出数量限制,关闭连接
}
}
}
}
}

连接池代码

2.

 using System;
using System.Web.Mvc;
using System.Data;
using MySql.Data.MySqlClient;
using Helper; namespace MVC4.Controllers
{
public class testController : Controller
{
private static string connStr = "server=localhost;User ID=root;Password=12345678;database=test;";
public ActionResult Index()
{
MySqlConnection conn = MySQLConnPool.GetConn(connStr);
MySqlCommand cmd = new MySqlCommand("Select * from us_BaseInfo", conn);
MySqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
}
dr.Close();//关闭MySqlDataReader
MySQLConnPool.Close(conn);
return View();
}
}
}

连接池使用

MySQL连接池的更多相关文章

  1. 解决Mysql连接池被关闭 ,hibernate尝试连接不能连接的问题。 (默认mysql连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池。系统发布第二天访问链接关闭问题。

    解决Mysql连接池被关闭  ,hibernate尝试连接不能连接的问题. (默认MySQL连接池可以访问的时间为8小时,如果超过8小时没有连接,mysql会自动关闭连接池. 所以系统发布第二天访问会 ...

  2. Java Mysql连接池配置和案例分析--超时异常和处理

    前言: 最近在开发服务的时候, 发现服务只要一段时间不用, 下次首次访问总是失败. 该问题影响虽不大, 但终究影响用户体验. 观察日志后发现, mysql连接因长时间空闲而被关闭, 使用时没有死链检测 ...

  3. tomcat中使用mysql连接池的配置

    1.下载相应的jar包,添加到工程中 需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1  commons-c ...

  4. mysql连接池的使用工具类代码示例

    mysql连接池代码工具示例(scala): import java.sql.{Connection,PreparedStatement,ResultSet} import org.apache.co ...

  5. 用swoole简单实现MySQL连接池

    MySQL连接池 在传统的网站开发中,比如LNMP模式,由Nginx的master进程接收请求然后分给多个worker进程,每个worker进程再链接php-fpm的master进程,php-fpm再 ...

  6. 实现一个协程版mysql连接池

    实现一个协程版的mysql连接池,该连接池支持自动创建最小连接数,自动检测mysql健康:基于swoole的chanel. 最近事情忙,心态也有点不积极.技术倒是没有落下,只是越来越不想写博客了.想到 ...

  7. mysql连接池模块

    如果不想程序在查询数据时卡死或等待过长时间,一般不推荐在node中开启一个连接后全部查询都用这个链接并且不关闭.因为node里面的mysql不像php里的那样会在完成查询后断开,只要不主动断开,连接一 ...

  8. python中实现mysql连接池

    python中实现mysql连接池 import pymysql from DBUtils.PooledDB import PooledDB MYSQL_HOST = 'localhost' USER ...

  9. workerman如何写mysql连接池

    首先要了解为什么用连接池,连接池能为你解决什么问题 连接池主要的作用1.减少与数据服务器建立TCP连接三次握手及连接关闭四次挥手的开销,从而降低客户端和mysql服务端的负载,缩短请求响应时间2.减少 ...

随机推荐

  1. linux 下解压rar文件

    今天遇到要在linux 服务器上解压几个rar 文件的问题,rar似乎是win 专属的压缩格式,所以linux 原生工具链中并没有支持rar 解压的工具.经过一系列搜索确定了一个脚linuxrar 的 ...

  2. 攻城狮在路上(叁)Linux(二十二)--- linux磁盘挂载与卸载 mount umount

    挂载就是将文件系统与目录结合的操作.挂载点就是目录,该目录就是进入分区或文件系统的入口. 一.挂载前的注意事项: 1.单一文件系统不应该被重复挂载在不同的挂载点中. 2.单一目录不应该重复挂载多个文件 ...

  3. [Monitor] 监控规则定义

    系统监控规则:

  4. windows 2003 企业版 下载地址+序列号

    迅雷地址: thunder://QUFodHRwOi8vcy5zYWZlNS5jb20vV2luZG93c1NlcnZlcjIwMDNTUDJFbnRlcnByaXNlRWRpdGlvbi5pc29a ...

  5. 【框架】异步加载大量图片--ImageLoader

    public abstract class BaseImageLoaderProvider { public abstract void loadImage(Context ctx, ImageLoa ...

  6. PHP之数据类型

    1.PHP字符串(String):一个字符串是一串字符的序列,就像"Hello world!":可以将任何文本放在单引号和双引号中: <?php $x="Hello ...

  7. The Unique MST(次小生成树)

    Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 22335   Accepted: 7922 Description Give ...

  8. json时间格式化问题

    function jsonDateFormat(jsonDate) {//json日期格式转换为正常格式 try { var date = new Date(parseInt(jsonDate.rep ...

  9. 使用maven 如何生成源代码的jar包

    http://hw1287789687.iteye.com/blog/1943157

  10. Myeclipse中创建Maven工程的时候没有 webapp-javaee6

    1. http://mvnrepository.com/artifact/org.codehaus.mojo.archetypes/webapp-javaee6/1.5 中有描述