- 浏览: 687552 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (254)
- java分布式应用架构 (22)
- SSH框架整合 (6)
- java web 学习笔记 (49)
- java 学习笔记 (56)
- struts 2 学习 (6)
- Hibernate学习 (10)
- spring 学习 (2)
- 客户端编程(javascript) (4)
- IDE使用 (13)
- 生命 人生 (6)
- 系统维护 (3)
- 技术篇 (10)
- MySql (2)
- J2ME (1)
- java网络编程 (4)
- 数据库 (5)
- C/C++ (8)
- Oracle (7)
- 软件测试 (0)
- 软件的安装和部署 (0)
- Java快讯 (1)
- swt (1)
- Flex (1)
- 软件工程 (1)
- PostgreSQL (1)
- sql server2000 (2)
- 嵌入式数据库sqlite (5)
- J2EE (1)
- XML (1)
- ibatis3(MyBatis) (6)
- Linux&Unix (1)
- velocity (1)
- 回报社会 (4)
- 软件项目管理 (3)
- android研究 (3)
- C# (2)
- Objective-C (1)
- 音乐 (0)
- webx (1)
- JMS (1)
- maven软件项目管理 (1)
- 分布式服务 (0)
- 云平台 (0)
- 分布式存储 (1)
- 分布式系统架构 (0)
- 移动互联网 (1)
- ZooKeeper (1)
最新评论
-
liyys:
楼主,可不可以发这个项目的源码工程出来分享一下,少了几个类。楼 ...
仿照Hibernate实现一个SQLite的ORM框架 -
liyys:
少了一些类的源码没有粘贴出来
仿照Hibernate实现一个SQLite的ORM框架 -
honglei0412:
我使用的是这种方式获取db文件的目录但是 URL p = Fi ...
使用sqlite注意事项 -
honglei0412:
大侠 能不能说明下DbFile您是怎么做的吗?
使用sqlite注意事项 -
ahack:
刚写完mapping才发现早就有人写好了。仔细一看还都是针对的 ...
仿照Hibernate实现一个SQLite的ORM框架
只要说一下它的使用,源码给大家
先说说使用:
极限测试:
mysql上限:7804,超过了会报IO异常。
oracle上限:300,超过了会报打开游标数目过大
SqlServer上限:好像是越多越好,真是韩信用兵,多多益善,我设置了1000000还没有报错,实在不想再等了,呵呵
但是我还是会选择使用oracle。
获取不同的数据库连接池有下面一个枚举类选择:
连接池接口:
连接池管理接口:
连接池管理接口工厂:
代码如下,供大家下载(有jar和javadoc文档以及属性配置文件):
说明:使用时一定要导入相应的数据库jdbcjar包
先说说使用:
package org.liufei.test; import org.liufei.common.DBCP; import org.liufei.dbcp.connectionFactory.ConnectionFactory; import org.liufei.dbcp.connectionFactory.DbcpConnection; public class Test { public static void main(String[] args) { DbcpConnection test = ConnectionFactory.getDbcpConnection(DBCP.MICROSOFT); try { for(int i = 0 ;i < 20000000; i++){ System.out.println(test.getConnection()); } test.destroy() ; } catch (Exception e) { e.printStackTrace(); } } }
极限测试:
mysql上限:7804,超过了会报IO异常。
oracle上限:300,超过了会报打开游标数目过大
SqlServer上限:好像是越多越好,真是韩信用兵,多多益善,我设置了1000000还没有报错,实在不想再等了,呵呵
但是我还是会选择使用oracle。
获取不同的数据库连接池有下面一个枚举类选择:
package org.liufei.common; /** * 选择加载的数据库连接池类型 * @author 刘飞 * */ public enum DBCP { MICROSOFT, MYSQL, ORACLE ; }
连接池接口:
package org.liufei.dao; import java.io.Serializable; import java.sql.Connection; public interface PoolManager extends Serializable { /** * connection连接对象池初始化 * @return * @throws Exception */ public boolean initialize() throws Exception ; /** * connection连接对象池的销毁 * @throws Exception */ public void destroy() throws Exception ; /** * 取一个空闲可用的connection连接对象 * @return * @throws Exception */ public Connection getConnection() throws Exception ; /** * 把一个connection连接对象从连接对象池中删除 * @throws Exception */ public void removeFromPool() throws Exception ; /** * 维护connection连接对象池大小 * @throws Exception */ public void fillPool() throws Exception ; /** * 将一个使用过的活跃连接(connection)返还给连接池。 * @param connection * @throws Exception */ public void close(Connection connection) throws Exception ; /** * 定时器事件 * @throws Exception */ public void timerEvent() throws Exception ; }
连接池管理接口:
package org.liufei.dbcp.connectionFactory; import java.io.Serializable; import java.sql.Connection; /** * 连接池管理接口 * @author 刘飞 * */ public interface DbcpConnection extends Serializable { /** * 将一个使用过的活跃连接(connection)返还给连接池。 * @param connection * @throws Exception */ public void close(Connection connection) throws Exception ; /** * connection连接对象池的销毁 * @throws Exception */ public void destroy() throws Exception ; /** * 取一个空闲可用的connection连接对象 * @return * @throws Exception */ public Connection getConnection() throws Exception ; /** * 检测本地系统上安装的数据库系统,并生成相应的配置文件, * 如果本地计算机上安装了多个数据库系统,则生成是有相应的配置文件 */ public void getConfFiles() ; }
连接池管理接口工厂:
package org.liufei.dbcp.connectionFactory; import java.io.Serializable; import org.liufei.common.DBCP; public class ConnectionFactory implements Serializable{ private static final long serialVersionUID = 102400L; private ConnectionFactory() { super(); } /** * 获取数据库连接池管理接口 * @return DbcpConnection */ public static DbcpConnection getDbcpConnection(DBCP dbcpparam){ return new DbcpConnectionImpl(dbcpparam) ; } }
代码如下,供大家下载(有jar和javadoc文档以及属性配置文件):
说明:使用时一定要导入相应的数据库jdbcjar包
- DBCP.rar (195 KB)
- 下载次数: 38
- dbcp1-1-0.jar (22.4 KB)
- 下载次数: 25
发表评论
-
Java编程中“为了性能”尽量要做到的一些地方
2012-09-14 10:33 12291. 尽量在合适的场合使 ... -
Java 5.0多线程编程
2012-08-17 19:16 1075概述 1:三个新加的多线程包 2:C ... -
Thread.setDaemon设置说明
2012-06-28 18:00 1162Thread.setDaemon的用法,经过学习以后了解: ... -
JVM运行时数据区
2012-03-07 13:15 1011JVM定义了若干个程序执行期间使用的数据区域。这个区域里的一些 ... -
使用ibatis防止sql注入
2011-12-19 19:59 4670为了防止SQL注入,iBatis模糊查询时也要避免使用$$来进 ... -
java的引用探讨
2011-12-18 16:03 1137Reference 是一个抽象类,而 SoftReferenc ... -
ClassLoader
2011-11-04 15:11 1202package org.liufei.neta.lib; ... -
仿照Hibernate实现一个SQLite的ORM框架
2011-09-30 20:06 3202那么先来看看使用 实体对象 package test; ... -
java压缩文件
2011-09-20 11:09 1302package org.liufei.net.util; ... -
获取客户机IP地址
2011-09-07 15:04 1041package org.liufei.jweb; imp ... -
Java读取本地机器MAC地址
2011-09-07 15:01 1311package org.liufei.jweb; imp ... -
获取IP地址
2011-09-07 13:41 2431public String getIpAddrByReques ... -
用CSS来美化Java桌面--Javacss
2011-09-02 12:14 1340CSS可以用来修饰HTML网页。 但你有没有想过,使用CSS ... -
java管理windows进程
2011-08-29 17:34 1790package org.zzuli.xmsb; /** ... -
java html工具
2011-08-29 17:26 1092package org.liufei.jweb.util; ... -
java将汉字转化为全拼
2011-08-29 17:24 1239package org.liufei.jweb.util; ... -
开源项目SVN源码地址
2011-08-22 16:20 3561多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习, ... -
XML解析
2011-08-22 09:58 10321、DOM解析XML <?xml version=&q ... -
jdbc操作大观园
2011-08-09 17:22 1392最近公司使用jdbc和mybatis比较多,于是自己试着写了一 ... -
Windows XP系统总命令集合
2011-08-05 14:08 1086Windows XP系统总命令集合 winver----- ...
相关推荐
数据库连接池是数据库管理中的一个重要概念,它在C#编程中扮演着优化数据库操作的关键角色。C#数据库连接池是一种管理数据库连接的技术,通过复用已存在的连接而不是每次请求时都创建新的连接,从而提高数据库操作的...
`Demo`可能是一个示例应用程序,展示如何使用自定义的数据库连接池。 5. **连接池实现细节**: - **初始化**:在应用程序启动时,连接池会被初始化,预创建一定数量的数据库连接。 - **连接分配**:当应用程序...
对于多应用共享同一数据库的系统而言,可在应用层通过数据库连接的配置,实现数据库连接池技术。某一应用最大可用数据库连接数的限制,避免某一应用独占所有数据库资源。 在较为完备的数据库连接池实现中,可根据...
连接池的基本工作原理是:当应用程序需要建立数据库连接时,连接池管理器会检查当前是否有可用的连接,如果有,则返回一个可用的连接对象;否则,连接池管理器将创建一个新的连接对象,并将其添加到连接池中。应用...
连接池的基本思想是维护一组预初始化的数据库连接,当应用程序需要时,可以从池中获取一个连接,使用完毕后,再归还回池,而不是直接关闭。这样可以显著减少数据库连接的创建和关闭时间,提升系统的响应速度和并发...
数据库连接池在初始化时会创建一定数量的数据库连接并保存起来,当应用程序需要连接时,可以从池中获取一个已存在的连接,而不是每次都去新建,用完后也不立即关闭,而是归还给连接池。这样可以显著减少建立和释放...
数据库连接池是现代应用程序开发中的重要组成部分,尤其是在处理大量数据交互的应用中,它极大地提高了数据库操作的效率和系统的稳定性。本资源"03-数据库连接池驱动"包含了三种常用的数据库连接池驱动:C3P0、Druid...
在C#编程环境中,开发人员经常需要与各种数据库进行交互,MySQL是其中之一。在.NET Core 2.1框架下,可以使用.NET Standard库来实现高效、优化的数据库连接管理,特别是通过连接池来提高性能。本文将深入探讨如何在...
* 数据库连接池特点: * 获取连接时不需要了解连接的名字,连接池内部维护连接的名字 * 支持多线程,保证获取到的连接一定是没有被其他线程正在使用 * 按需创建连接,可以创建多个连接,可以控制连接的数量 * 连接...
数据库连接池是一组预先初始化的数据库连接,当程序需要与数据库建立连接时,可以从池中获取一个已经存在的连接,而不是每次都创建新的连接。使用完毕后,连接不会立即关闭,而是返回到连接池中供后续使用。这样可以...
在给定的标题“自己写的数据库连接池(java)”中,我们可以推测这是一个用户自定义的数据库连接池实现,可能是为了学习或实践目的。描述提到的“XML版读取属性文件”和“普通的”,暗示了两种不同的配置方式,一种是...
Java数据库连接池是Java开发中一个非常重要的技术,它主要用于管理数据库连接,提高数据库操作的效率和性能。在Java应用程序中,频繁地创建和关闭数据库连接会导致大量的系统资源浪费,而连接池则可以复用已建立的...
在Delphi这个强大的Windows应用程序开发环境中,实现数据库连接池能够有效地解决频繁创建和销毁数据库连接带来的性能问题。下面我们将详细探讨如何在Delphi中实现数据库连接池,以及其核心概念和优势。 数据库连接...
Delphi数据库连接池是一种高效的数据库资源管理技术,它允许应用程序在多用户环境下共享数据库连接,以提高性能并减少系统资源的消耗。连接池的核心思想是重用已建立的数据库连接,而不是每次需要时都创建新的连接,...
数据库连接池是应用程序管理数据库连接的一种机制,它在多个并发请求之间共享数据库连接,从而减少了创建和销毁数据库连接的开销。在这个项目中,你使用Java实现了一个自定义的数据库连接池,应用了代理模式来优化...
数据库连接池的基本思想是预先创建并维护一定数量的数据库连接,当应用需要与数据库通信时,可以快速地从连接池中获取一个已建立的连接,而不是每次都新建一个。用完后,连接会归还到池中,供其他请求使用,而不是...
当应用程序请求数据库连接时,连接池会提供一个现有的连接,而无需重新建立一个新的连接。这种方式大大减少了数据库连接的创建和销毁次数,从而提高了应用程序的性能和响应速度。 知识点二:数据库连接池的重要性 1...