Hibernate中使用Druid数据库连接池配置如下
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.provider_class"> com.alibaba.druid.support.hibernate.DruidConnectionProvider </property> <property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url"> jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false </property> <property name="username">root</property> <property name="password">root</property> <!-- 配置初始化大小、最小、最大 --> <property name="initialSize">1</property> <property name="minIdle">1</property> <property name="maxActive">20</property> <!-- 配置获取连接等待超时的时间 --> <property name="maxWait">60000</property> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis">60000</property> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis">300000</property> <!-- 打开PSCache,并且指定每个连接上PSCache的大小 --> <property name="poolPreparedStatements">true</property> <property name="maxPoolPreparedStatementPerConnectionSize">20</property> <!-- 配置监控统计拦截的filters,去掉后监控界面sql无法统计 --> <property name="filters">stat</property> <!-- JDBC connection pool (use the built-in) --> <!-- <property name="connection.pool_size">5</property> --> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> <mapping resource="conf/hibernate/domain/Music.hbm.xml"/> </session-factory> </hibernate-configuration>
在配置Druid数据库中连接池常常容易犯的一个错误,数据源容易配置错误,使用Hibernate默认的配置
<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url"> jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false </property> <property name="connection.username">root</property> <property name="connection.password">root</property>
然后Druid连接池并不能识别上面的配置,会抛出空指针异常,无法创建连接池对象,数据源正确的配置如下
<property name="driverClassName">com.mysql.jdbc.Driver</property> <property name="url"> jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false </property> <property name="username">root</property> <property name="password">root</property>
补充:配置mysql数据库连接url时,需要添加一些参数,在XML文件中参数分隔符"&"符号需要使用转义字符,具体见上。
相关推荐
【标题】"spring3+hibernate4+springmvc+druid连接池"是一个常见的Java Web开发中的技术栈整合,其中包含了Spring框架的三个主要组件:Spring Core、Spring MVC和Hibernate ORM,以及Druid数据库连接池。这个组合常...
本篇文章将详细介绍如何在Hibernate中配置各种连接池,以实现高效的数据访问。 一、连接池的概念与作用 连接池是数据库连接的一种管理机制,它预先创建并维护一定数量的数据库连接,当应用程序需要时可以从池中获取...
4. **配置Hibernate**:配置Hibernate的SessionFactory,指定使用的数据源,并启用JTA事务。 5. **配置Spring事务管理器**:创建Atomikos事务管理器的bean,并配置Spring的PlatformTransactionManager,指定使用...
4. **Druid连接池**: Druid是阿里巴巴开源的数据库连接池,除了基本的连接池功能外,还提供了监控、SQL解析、日志等扩展功能。配置Druid时,需要在Hibernate的配置文件中添加Druid的相关配置,如`initialSize`、`...
总结来说,Hibernate简化了Java与数据库的交互,而连接池则优化了数据库连接的管理,二级缓存进一步提升了数据访问的效率。理解和熟练掌握这些技术,能够帮助开发者构建更高效、稳定的Java应用程序。
在SpringBoot中,可以通过配置文件选择HikariCP、Druid或Tomcat等连接池。 7. **测试与调试** - 编写测试用例,确保双数据源配置正确无误。可以编写针对每个数据源的CRUD操作,验证读写功能是否正常。 在实际项目...
总结起来,"Hibernate3连接池示例"展示了如何利用Hibernate3和C3P0连接池实现高效的数据访问。这个示例代码演示了如何配置C3P0,设置数据源,以及如何在Java代码中使用这些配置进行数据库操作。通过这种方式,开发者...
【hibernate配置数据库连接池的三种方法】 在软件开发中,数据库连接池是一种重要的资源管理工具,它能显著提高数据库操作的效率和性能。连接池通过预先创建并维护一定数量的数据库连接,使得应用程序在需要时可以...
在Java Web开发中,Hibernate作为一款强大的ORM(对象关系映射)框架,能够简化数据库操作,而Druid则是一款高性能、灵活且功能丰富的数据库连接池。当两者结合使用时,可以进一步优化数据访问性能,提升应用的稳定...
本文主要探讨了三个常用的数据库连接池:DBCP、c3p0和Druid,以及它们的配置说明。 1. **DBCP(Apache Commons DBCP)** DBCP是Apache Commons项目的一部分,它依赖于Apache Commons Pool对象池机制来管理数据库...
2. 配置Hibernate属性:在Hibernate的配置文件(hibernate.cfg.xml)中,需要定义连接池的相关参数。例如: ```xml <property name="hibernate.connection.provider_class">org.hibernate.connection....
本篇文章将深入探讨如何配置Hibernate以配合连接池进行高效的数据交互。 一、连接池简介 连接池是数据库连接的一种管理机制,它预先创建并维护一定数量的数据库连接,当应用程序需要时可以从池中获取,使用完毕后...
首先,让我们来看看Druid连接池。Druid是由阿里巴巴开发的一款高性能的数据库连接池组件。它的全名是“Druid Database Connection Pool”。Druid的主要特点包括: 1. **监控和诊断**:Druid提供了强大的监控和诊断...
Druid是阿里巴巴开源的一个高性能、可扩展的数据库连接池。它提供了监控、SQL解析、拦截器等功能,提高了数据库访问的性能和稳定性。整合Druid时,我们需要在Spring配置中定义数据源,并配置相关的监控和拦截器。 ...
总的来说,理解并正确配置Hibernate连接池驱动对于提升应用的性能和可扩展性至关重要。无论是c3p0还是Proxool,它们都是为了优化数据库连接的生命周期管理,减少数据库连接创建和释放带来的开销,从而提高系统整体的...
在构建Web应用时,Spring Boot、MyBatis和Druid连接池的组合是常见的选择,因为它们能够提供高效、稳定且可监控的数据访问层。本文将深入探讨这些组件以及如何结合使用它们,尤其是如何实现Druid的监控功能。 首先...
C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象 DBCP (Database Connection Pool)是一个依赖Jakarta ...
集成springmvc和hibernate的JPA项目源码,共85个文件,采用Java语言编写,涉及多种文件类型如JAR打包文件、Java源代码、XML配置文件、...该项目使用Druid数据库连接池,提供了一个高效、稳定的数据库连接管理解决方案。