package util; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import org.apache.commons.dbcp.BasicDataSource; /** * 该类引入了连接池来管理连接, * 连接池代替了DriverManager。 * 它是DBTool的升级版。 */ public class DBUtil { private static BasicDataSource ds; static { //1.只读取一次连接参数 Properties p = new Properties(); try { p.load(DBUtil.class.getClassLoader() .getResourceAsStream("db.properties")); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException("读取配置文件失败",e); } String driver = p.getProperty("driver"); String url = p.getProperty("url"); String user = p.getProperty("user"); String pwd = p.getProperty("pwd"); String initSize = p.getProperty("initSize"); String maxSize = p.getProperty("maxSize"); //2.只创建一个连接池 ds = new BasicDataSource(); //3.将连接参数设置给连接池 ds.setDriverClassName(driver); ds.setUrl(url); ds.setUsername(user); ds.setPassword(pwd); ds.setInitialSize(new Integer(initSize)); ds.setMaxActive(new Integer(maxSize)); } public static Connection getConnection() throws SQLException { return ds.getConnection(); } /** * 由连接池创建的连接,其close()被连接池改为 * 归还的作用,而不是真正关闭连接。并且归还时, * 该连接内的数据被清空,状态重置为空闲态。 */ public static void close(Connection conn) { if(conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException("归还连接失败",e); } } } }
相关推荐
DBUtil类内部包含有连接池创建和连接池的关闭,下载后记得修改URL
通过`DBUtil` 类与C3P0连接池的结合使用,开发者可以有效地管理和优化数据库连接,提高应用的响应速度和稳定性,降低服务器资源消耗。理解这些概念和实践,对于开发高质量的Java Web应用至关重要。
Spring-Boot通过druid连接池获取连接操作SQLServer数据库 总结:【共3步】 第1步:添加druid和MSSQL Driver的依赖项; 第2步:配置连接字符串; 第3步:创建数据库操作类,使用@Bean注入DruidDataSource, 然后根据...
### JAVA 使用数据库连接池连接Oracle数据库全代码解析 #### 一、概述 本文将详细介绍如何在Java项目中使用Apache DBCP(Database Connection Pool)来连接Oracle数据库,并提供完整的示例代码。通过这种方式,我们...
根据提供的文件名"**c3p0连接池连接数据实例和jar包**",这个压缩包应该包含了C3P0的jar文件,例如`c3p0-0.9.5.x.jar`和`mchange-commons-java-0.2.x.jar`等。在Java项目中,将这些jar文件添加到项目的类路径中,...
在Java Web开发中,Tomcat是一个广泛使用的开源应用服务器,主要负责处理Servlet和JSP。在高并发场景下,为了优化...理解并熟练掌握连接池配置对于Java Web开发者来说至关重要,因为它直接影响到应用的性能和稳定性。
总结,c3p0连接池是通过配置数据源,设置各种参数来实现数据库连接的高效管理和复用。正确配置和使用c3p0,能有效减少数据库连接的创建和销毁开销,提高系统性能,同时确保应用的稳定运行。在实际开发中,可以根据...
连接池如C3P0或HikariCP可以预先创建并维护一组数据库连接,供多个请求共享。 4. `ConfigLoader.java`: 这个类用于加载配置信息,如数据库连接的URL、用户名、密码等。这些信息通常存储在一个外部配置文件(如`db....
1. **数据库连接池**:DbUtil不包含内置的连接池,但它可以与第三方的数据库连接池(如C3P0、Druid、HikariCP等)结合使用。连接池可以有效地管理和重用数据库连接,提高系统性能。 2. **QueryRunner类**:这是...
1. **数据库连接管理**:DBUtil通过连接池管理数据库连接,当需要执行SQL语句时,可以从连接池获取连接,执行完毕后归还给连接池,而不是直接关闭。这样可以有效利用资源,减少数据库连接的创建和销毁次数。 2. **...
特别是在基于Java的企业级应用中,使用连接池来管理与数据库之间的连接可以显著提高性能并降低资源消耗。本文将详细介绍如何使用Java连接池进行数据库的增删改查操作,并探讨相关的分层设计模式。 #### Java连接池 ...
数据库连接池是一种管理与分配数据库连接的技术,主要用于提高应用程序的性能和响应速度。通过预先创建并维护一定数量的数据库连接,连接池可以避免频繁地创建和销毁连接所带来的开销,从而显著提升应用效率。 ### ...
通过连接池(如C3P0、DBCP或HikariCP)来高效管理数据库连接,避免了频繁的打开和关闭连接,降低了系统资源的消耗。 2. SQL语句执行:提供执行SQL查询、更新(插入、删除、修改)的接口。例如,`executeQuery...
数据库连接池是现代Web应用程序中不可或缺的组件,它有效地管理数据库连接,提高系统性能并减少资源浪费。在Java环境中,常见的连接池实现有Apache的DBCP、C3P0、HikariCP以及Tomcat内置的Tomcat-jdbc-pool等。本...
总的来说,`MYSQL4dotNet-DBUtil`项目提供了一种简洁的方式来管理C#与MySQL的交互,尤其是在资源受限的Wince平台上。`DBUtil.cs`作为核心组件,集成了数据库连接、命令执行、事务管理和性能优化等功能,使得开发者...
本项目"使用Java语言编写的数据库连接池,实现数据库与JSP文件的连接"着重于如何通过Java编程来管理和复用数据库连接,从而提高Web应用的效率。下面我们将深入探讨相关知识点。 首先,数据库连接池的基本原理是预先...
总的来说,DBCP作为Tomcat内置的数据库连接池,为Web开发者提供了一种简单易用且高效的数据库连接管理方案。通过合理配置和使用,能有效提高Web应用的性能,减少资源浪费,增强系统的稳定性和可靠性。了解和掌握DBCP...
总结来说,"dbutils + dbcp 连接池构建DAO层"是Java Web开发中的一种常见实践,它结合了DAO设计模式的易维护性和Dbcp连接池的高性能,为数据库操作提供了一种高效、稳定的解决方案。了解和掌握这一技术,对于提升...
`DBUtil`类可以进一步封装这些操作,提供更便捷的数据库访问方式,比如连接池管理,自动关闭资源等。 6. **dbutil工具类**: `dbutil`可能是一个自定义的工具类,包含如获取连接、执行SQL、处理结果集等常用方法,以...