`
yaodaqing
  • 浏览: 349361 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

jdbc连接数据库单例预先初始化

    博客分类:
  • JDBC
阅读更多
package com.daqing.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * 单例模式会有一个实例;会new一次
 * 单例模式不使用静态的
 * A0102JdbcUtilsSingletonBeforehand
 * 		意思:jdbc工具类,单例,预先初始化
 * @author Administrator
 *
 */
public final class A0102JdbcUtilsSingletonBeforehand {

	private String url = "jdbc:mysql://127.0.0.1:3306/jdbc";
	private String user = "root";
	private String password = "root";
	
	/**
	 * 预初始化
	 */
	private static A0102JdbcUtilsSingletonBeforehand instance = new A0102JdbcUtilsSingletonBeforehand();
	
	private A0102JdbcUtilsSingletonBeforehand(){
	}
	
	public static A0102JdbcUtilsSingletonBeforehand getInstacce(){
		return instance;
	}
	
	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
			throw new ExceptionInInitializerError(e);
		}
	}
	
	public Connection getConnection() throws SQLException{
		return DriverManager.getConnection(url, user, password);
	}
	
	public void free(ResultSet rs, PreparedStatement ps, Connection conn){
		try {
			if(rs!=null){
				rs.close();
			}
		} catch (SQLException e) {
			System.out.println("ResultSet关闭发生异常...");
		} finally {
			if(ps!=null){
				try {
					ps.close();
				} catch (SQLException e) {
					System.out.println("PreparedStatement关闭发生异常...");
				} finally {
					if(conn!=null){
						try {
							conn.close();
						} catch (SQLException e) {
							System.out.println("Connection关闭发生异常...");
						}
					}
				}
			}
		}
	}
}
分享到:
评论

相关推荐

    Java jdbc数据库连接池总结

    在服务器端,连接池管理器可以在服务器启动时初始化,并在服务器关闭时释放连接池中的所有连接对象。这样可以减少系统资源的占用,并提高系统的性能。 在实际应用中,连接池技术可以和其它技术结合使用,例如,J2EE...

    最新版加注释通用JDBC数据库连接池

    3. 在应用程序启动时初始化连接池,通常在Spring框架中通过@Bean注解配置。 4. 当需要数据库连接时,通过连接池提供的方法获取连接。 5. 使用完毕后,及时关闭并归还连接到连接池,而非直接关闭连接。 **优化策略:...

    JDBC连接oracle数据库.pdf

    `DBConnectionManager`类中包括了初始化、获取连接和释放连接的方法。例如,`getInstance()`方法提供单例模式的连接管理器,`freeConnection()`方法用于将不再使用的连接返回给连接池,以便其他部分的代码可以复用。...

    单例模式----数据库连接池管理类的应用

    在实际开发中,我们可以通过单例模式的数据库连接池管理类来初始化、获取和关闭数据库连接。例如,我们可以创建一个名为`DatabasePoolManager`的类,该类内部包含对HikariCP的初始化代码,使用单例模式确保在整个...

    javajdbc数据库连接池总结.pdf

    1. 初始化阶段,连接池根据配置参数创建一定数量的数据库连接并保存在池中。 2. 当应用程序需要连接时,向连接池请求连接,连接池会从空闲连接中分配一个。 3. 应用程序使用完连接后,不直接关闭,而是将其返回给...

    单实例模式数据库连接池

    - **初始化**:在类加载或第一次请求时初始化单例实例,并加载必要的驱动信息。 - **获取连接**:提供`getConnection()`方法供外部调用以获取可用连接。 - **释放连接**:提供`freeConnection()`方法将使用后的...

    数据库连接池

    - **初始化连接池**:在系统启动时,DBConnectionManager 的构造函数会被调用,负责初始化连接池,并加载配置文件中的相关信息。 - **获取连接**:当应用程序需要访问数据库时,可以通过 DBConnectionManager 的 get...

    数据库连接池技术

    DBConnectionManager类通过单例模式确保全局只有一个实例,其初始化过程会读取配置文件,根据其中的属性创建多个DBConnectionPool实例。每个DBConnectionPool实例管理着一组JDBC连接,这些连接可以在多个Servlet实例...

    数据库连接池原理分享.pdf

    1. **连接池的概念**:数据库连接池是预先初始化的一组数据库连接,这些连接存储在一个池中,供应用程序在需要时使用。当应用完成对数据库的操作后,不会立即关闭连接,而是将其归还给连接池,以便其他请求可以重用...

    数据库连接池(JAVA)

    - 连接池初始化:根据配置文件初始化连接池,设置最小和最大连接数,超时时间等参数。 - 连接的生命周期管理:检查和回收空闲超时的连接,避免资源泄露。 - 性能监控:提供监控接口或日志,以便观察连接池的状态,如...

    数据库连接池的原理机制学习

    2. **多数据库服务器和多用户支持**:对于需要同时连接到不同数据库服务器的应用程序来说,可以设计一个符合单例模式的连接池管理类,并在类实例化时读取一个资源文件,该文件包含了多个数据库的URL、用户名和密码等...

    Java中数据库连接池原理机制的详细讲解

    1. **连接池的初始化**: - 在应用启动时,连接池会预先创建一定数量的空闲连接,并将它们放入一个连接池中。 2. **获取连接**: - 当应用程序需要执行数据库操作时,它可以从连接池中获取一个空闲连接。 - ...

    JAVA数据库连接池.pdf

    // 其他如添加驱动、初始化连接池、获取连接、释放连接等方法... } ``` 通过这样的设计,Java应用程序可以高效地管理和利用数据库连接,从而提高整体性能,同时降低资源消耗。在应对高并发场景和大型项目时,连接...

    JAVA_java数据库连接池.pdf

    // 初始化连接池 DBConnectionManager.init(); // 获取连接 Connection conn = DBConnectionManager.getConnection(); try { // 执行数据库操作 } finally { // 归还连接 DBConnectionManager....

    数据库连接池 C3P0.src

    2. 如何实现连接的生命周期管理,包括初始化、分配、释放和回收。 3. 如何处理并发访问时的线程安全问题,例如锁的使用和并发控制算法。 4. 如何配置和监控连接池,理解C3P0的各种配置参数及其作用。 5. 如何通过JMX...

    JAVA_java数据库连接池(20210930142524).pdf

    在连接池管理类初始化时,它会读取配置文件(如properties文件),从中获取数据库的URL、用户名、密码等信息,然后根据这些信息创建多个特定数据库的连接池实例,每个实例都有自己的名称,以便区分和管理。...

    mysql连接池

    - 初始化连接池:在应用程序启动时,调用连接池的初始化方法。 - 获取和释放连接:在需要数据库操作的地方,使用连接池提供的方法获取和归还连接。 3. **关键配置参数**: - `maxActive`:最大活跃连接数,超过...

Global site tag (gtag.js) - Google Analytics