c#操作数据库是一个经典,用习惯了以后真感觉不错,很简单的。现在很多关系数据库都支持c#。c#的ADO.NET规范都遵守。 对于一般的设置,ADO.NET都放在数据库连接字符串上。比如池化,连接超时等。 所以C#的连接池一般需要数据库开发的客户端直接支持池化,是由数据库客户端驱动提供的,如果没有实现ADO.NET池化规范则,就没有池,其实 我都很少看见。   不说了,根据ADO.NET规范,我开发了一个简单的池,主要就是配置和驱动连接的保持,用linkedlist实现数据保持。用法和普通连接对象使用一样。 项目取名称:Hikari,默认驱动dll放在DBDrivers文件夹下面。 基本使用:  

HikariConfig hikariConfig = new HikariConfig();            
hikariConfig.DBType = "SqlServer";          
  hikariConfig.ConnectString = "Server = 127.0.0.1; Port = 5432; User Id = postgres; Password = 1234; Database = postgres;Pooling=true; ";             //hikariConfig.DriverDir = "DBDrivers";          
  //hikariConfig.DriverDLL = "XXXX.dll";        
    //hikariConfig.DBTypeXml = "DBType.xml";      
      HikariDataSource hikariDataSource = new HikariDataSource(hikariConfig);
var connection = hikariDataSource.GetConnection();                  
  if (connection != null) {    
var cmd = connection.CreateCommand();                      
  cmd.CommandText = "select * from student";              
          var rd = cmd.ExecuteReader();                  
      int datanum = 0;                    
    while (rd.Read())                    
    {                            
rd.GetInt32(0);      
  rd.GetString(1);                          
  rd.GetInt32(2);                        
    datanum++;                        
}                        
rd.Close();                        
cmd.Dispose();                      
  connection.Close();

项目已经上传CSDN,同时我的GIT也已经上传,发现bug或者优化会更新。 项目地址: https://github.com/jinyuttt/Hikari.git

开发一个c#的数据库连接池的更多相关文章

  1. Java开发工程师(Web方向) - 03.数据库开发 - 第2章.数据库连接池

    第2章--数据库连接池 数据库连接池 一般而言,在实际开发中,往往不是直接使用JDBC访问后端数据库,而是使用数据库连接池的机制去管理数据库连接,来实现对后端数据库的访问. 建立Java应用程序到后端 ...

  2. swing开发一个修改项目数据库连接参数配置文件

    我们在开发web项目中,经常有properties配置文件配置数据库连接参数,每次修改的时候还要去找到配置文件,感觉有点麻烦,就用swing做了个小工具修改参数,运行界面如下: =========== ...

  3. JAVA企业级开发-jdbc事务,数据库连接池(10)

    一.   JDBC事务 事务: 问题1.什么是事务 问题2.java中(jdbc)如何控制事务 1. 事务—重点 指的的逻辑上的一组(一组sql,insert update ,delete)操作,组成 ...

  4. java web学习总结(十六) -------------------数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  5. JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)

    JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/beans)中建立数据库连接 2)进行sql操作 3)断开数据库连接 ...

  6. javaweb学习总结(三十九)——数据库连接池

    一.应用程序直接获取数据库连接的缺点 用户每次请求都需要向数据库获得链接,而数据库创建连接通常需要消耗相对较大的资源,创建时间也较长.假设网站一天10万访问量,数据库服务器就需要创建10万次连接,极大 ...

  7. 【转】JDBC学习笔记(8)——数据库连接池(dbcp&C3P0)

    转自:http://www.cnblogs.com/ysw-go/ JDBC数据库连接池的必要性 一.在使用开发基于数据库的web程序时,传统的模式基本是按一下步骤: 1)在主程序(如servlet/ ...

  8. mysql数据库连接池使用(一)dbcp方式的配置

    Apache的数据库连接池 DBCP的常用配置说明,因为项目中用到了需要对其封装,所以必须先了解怎么配置以及各个配置字段的含义,理解的基础上开发我们自己的数据库连接池.可以参考官网dbcp官网. db ...

  9. JDBC编程学习笔记之数据库连接池的实现

    在JDBC编程的时候,获取到一个数据库连接资源是很宝贵的,倘若数据库访问量超大,而数据库连接资源又没能得到及时的释放,就会导致系统的崩溃甚至宕机.造成的损失将会是巨大的.再看有了数据库连接池的JDBC ...

随机推荐

  1. 线程操作之Thread类

    在.Net fremework 中,所有与线程有关的操作都封装在System.Thread命名空间中, 所以在操作线程时,要先引入次命名空间 Thread类的常用方法 Abort 线程终止 Join ...

  2. 关于日常使用Azure MySQL中遇到的连接问题以及排查方法分享

    由于防火墙问题,TCP keep alive 问题,以及 MySQL 自身的参数问题这三个在使用中比较常见,所以今天就分享下自己找到的排查方法. 今天先聊一聊防火墙问题 大多数人在第一次创建 MySQ ...

  3. java实例初始化块

    实例初始化程序块用于初始化实例数据成员. 它在每次创建类的对象时运行.实例变量的初始化可以是直接的,但是可以在初始化实例初始化块中的实例变量时执行额外的操作. 什么是实例初始化块的使用,我们可以直接分 ...

  4. Colorbox - a jQuery lightbox

    http://www.jacklmoore.com/colorbox/http://www.jacklmoore.com/colorbox/example5/ <script type=&quo ...

  5. Required Integer parameter 'XXX' is not present

    1.异常提示: DEBUG o.s.w.s.m.m.a.ServletInvocableHandlerMethod - Error resolving argument [2] [type=java. ...

  6. 【Gradle】 Gradle 综合

    Gradle User Guide:http://www.gradle.org/docs/current/userguide/userguide.html 针对它的中文翻译:http://ask.an ...

  7. css:改变滚动条样式

    以下亲测谷歌内核的浏览器有用,微软和火狐无效 body::-webkit-scrollbar {/*滚动条整体样式*/ width: 5px; /*高宽分别对应横竖滚动条的尺寸*/ height: 1 ...

  8. SQL Server 2012安装配置(Part2 )

    2 服务器安装 运行安装程序后,首先进入 SQL Server 安装中心.选择左侧导航树中的"安装"菜单项. 图2-1 SQL Server 安装中心 在右侧菜单中点击" ...

  9. SQL Server现有表上自增属性增删原理研究

    项目需求:线上有一张表,数据类型为int类型,现在由于项目变更,需要这一列添加自增属性,而且,为了保证能尽快完成,希望使用脚本来实现,而不是在表设计中通过GUI窗口来实现. 问题来了:SQL Serv ...

  10. Oracle的sql语句的两种判断形式

    Oracle的sql语句的两种判断形式 判断当前列同时改动当前列 判断一个情况改动其他值 一类情况详解:实现的是当num这一列的值为3时,就显示好 以此类推 1)case num when 3 the ...