hibernate提供org.hibernate.connection.ConnectionProvider获取jdbc连接,ConnectionProvider实现类包括
DriverManagerConnectionProvider
DateSourceConnectionProvider
UserSuppliedConnectionProvider
C3P0ConnectionProvider,ProxoolConnectionProvider
简要说说这些实现
DriverManagerConnectionProvider用List维护连接,当jvm调用finalize方法时,关闭掉集合中的所有连接,并清空集合
getConnection
如果集合中有,则拿到最新的那个连接;如果没有,DriverManager获取连接
closeConnection
如果集合中连接的数量已经等于配置中指定的poolSize,则关闭此连接;如果没有则放入集合
下
DateSourceManagerConnectionProvider通过jndi查找数据源配置中的hibernate.jndi.class和hibernate.jndi.url用于初始化javax.naming.InitialContext常用jndi配置hibernate.connection.datasource指定数据源的名称
getConnection
通过javax.sql.DataSource,getConnection获取
closeConnection
java.sql.Connection.close
C3P0ConnectionProvider使用c3p0实现的javax.sql.DataSourcec3p0
ProxoolConnectionProvider使用proxool实现proxool
UserSuppliedConnectionProvider用户继承此类实现自己的连接提供者
至于使用哪种,由org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider决定
newConnectionProvider描述如下
如果hibernate.connection.provider_class不为空,使用实例化后的类
如果发现hibernate.connection.datasource,使用DatesourceConnectionProvider
如果发现hibernate.c3p0.*,使用C3P0ConnectionProvider
如果发现hibernate.proxool,使用ProxoolConnectionProvider
如果发现hibernate.connection.url,使用DriverManagerConnectionProvider
否则,返回UserSuppliedConnectionProvider
分享到:
相关推荐
本篇我们将深入探讨如何使用JDBC连接到Hive,以及在实际操作中可能遇到的关键知识点。 首先,理解JDBC的基本概念是非常必要的。JDBC提供了一组Java接口和类,这些接口定义了与数据库通信的方法。通过实现这些接口,...
Java通过JDBC连接Impala是将Java应用程序与大数据分析平台Impala进行交互的一种常见方法。在Java编程中,JDBC(Java Database Connectivity)是用于访问数据库的标准API,它允许Java程序与各种数据库进行通信,包括...
总之,通过掌握JDBC连接Oracle数据库的技巧,能够极大地提高程序的效率和稳定性。选择合适的驱动程序、关闭自动提交、使用PreparedStatement对象、批量处理、调用存储过程以及优化连接池等策略,都是提高Java应用...
标题中的"jdbc连接hive数据库的驱动jar包"指的是Hive JDBC驱动的Java类库文件,通常是一个.jar文件,包含了所有必要的类和方法,使得Java应用程序能够建立到Hive服务器的连接,执行查询并获取结果。这个“jar包”...
在本场景中,我们关注的是如何使用JDBC连接到Impala,这是一个高性能的数据处理系统,常用于大数据分析。Impala是由Cloudera开发的开源项目,它允许实时查询Hadoop集群上的数据,而无需将数据导出到其他系统。 首先...
"JDBC连接Oracle数据库测试"是一个关键的实践环节,确保应用程序能够稳定且高效地与数据库进行交互。在这个场景中,我们将详细探讨如何使用JDBC来实现对Oracle数据库的连接测试,以及如何每隔20秒执行一次连接并记录...
1. **选择连接池实现**:首先,我们需要选择一个合适的数据库连接池实现,如Apache的DBCP、C3P0、HikariCP或Tomcat JDBC连接池等。这些连接池库提供了管理和维护数据库连接的功能。 2. **配置连接池**:在应用的...
在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码现象。这种情况通常发生在远程 Oracle 数据库与本地 Oracle 数据库的字符集...
需要注意的是,Hive JDBC连接可能需要Hadoop的相关配置,如HDFS的地址和Hive Metastore的URI,这些配置可以通过设置系统属性或在`hive-site.xml`中定义,并通过`java -D`命令传递给JVM。 此外,Hive JDBC还支持连接...
### 通过JDBC连接Oracle数据库的十大技巧 #### 1. 使用Thin驱动程序 在Java客户端软件开发过程中,Oracle提供了多种驱动程序供开发者选择。其中,OCI(Oracle Call Interface)驱动程序通过Java本地接口(JNI)与...
【jdbc连接Hive】 在大数据处理领域,Hive作为一个基于Hadoop的数据仓库工具,被广泛用于数据查询和分析。CDH(Cloudera Distribution Including Apache Hadoop)是Cloudera公司提供的一个完整的开源大数据平台,...
本篇将详细介绍如何使用JDBC连接GBase数据库以及GBase 8.3驱动包的相关知识。 首先,了解JDBC是Java语言访问数据库的标准接口,它提供了统一的API,使得开发者能够通过编写Java代码来操作各种不同类型的数据库。...
Eclipse JDBC连接数据库源码分析 在Java编程中,JDBC(Java Database Connectivity)是用于与各种数据库进行交互的一组接口和类。本资源“eclipse-jdbc连接数据库源码”提供了一系列关于如何使用Eclipse IDE进行...
- Access的JDBC连接可能依赖于ODBC,增加了额外的系统依赖,而MySQL的JDBC连接更直接,性能通常更好。 - MySQL支持更多的数据库特性,如事务、索引和存储过程,而Access的功能相对有限。 总结来说,JDBC作为J2EE的...
5. 定期更新JDBC驱动,以获取最新的功能和安全补丁。 总的来说,SAP HANA的JDBC驱动提供了一种灵活且高效的方式,让Java开发者能够集成HANA数据库到他们的应用中,执行数据查询、事务处理和数据分析等任务。通过...
通过上述分析可以看出,这段代码实现了JDBC连接的基础功能,即建立与数据库的连接。通过定义常量来存储连接信息,使得代码具有较好的可维护性和可扩展性。此外,`getConn()`方法通过加载JDBC驱动并使用`...
Java使用jdbc连接MySQL数据库实例分析 Java语言是目前最流行的编程语言之一,广泛应用于Web开发、Android开发、企业级应用等领域。数据库是存储和管理大量数据的核心组件,而MySQL是最流行的开源关系数据库管理系统...
标题 "jdbc连接hive的jar包" 涉及的关键知识点主要集中在Hive的JDBC连接以及相关依赖的Java库上。Hive是一个基于Hadoop的数据仓库工具,它允许通过SQL查询语言(HQL)访问存储在Hadoop分布式文件系统(HDFS)中的...
1. **JDBCAPI**:面向程序开发人员,用于实现数据库连接、执行SQL语句及获取结果集等功能。 2. **JDBCDriverAPI**:面向驱动程序开发商,用于实现不同数据库系统的具体驱动。 #### JDBC数据库访问机制 通常情况下...
**正文** GreenPlum是一种高性能、可扩展的...总的来说,`GreenplumDriver.jar`是连接Java应用和GreenPlum数据库的关键组件,通过JDBC接口,开发者可以编写高效、可靠的数据库应用程序,处理大规模的数据分析任务。