`

Hibernate4学习(二)配置druid数据连接池

阅读更多

    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&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;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&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;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&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=false
		</property>
		<property name="username">root</property>
        <property name="password">root</property>

 补充:配置mysql数据库连接url时,需要添加一些参数,在XML文件中参数分隔符"&"符号需要使用转义字符,具体见上。

分享到:
评论

相关推荐

    spring3+hibernate4+springmvc+druid连接池

    【标题】"spring3+hibernate4+springmvc+druid连接池"是一个常见的Java Web开发中的技术栈整合,其中包含了Spring框架的三个主要组件:Spring Core、Spring MVC和Hibernate ORM,以及Druid数据库连接池。这个组合常...

    hibernate配置连接池大全

    本篇文章将详细介绍如何在Hibernate中配置各种连接池,以实现高效的数据访问。 一、连接池的概念与作用 连接池是数据库连接的一种管理机制,它预先创建并维护一定数量的数据库连接,当应用程序需要时可以从池中获取...

    spring 结合druid和hibernate使用jta配置分布式事务

    4. **配置Hibernate**:配置Hibernate的SessionFactory,指定使用的数据源,并启用JTA事务。 5. **配置Spring事务管理器**:创建Atomikos事务管理器的bean,并配置Spring的PlatformTransactionManager,指定使用...

    hibernate连接池

    4. **Druid连接池**: Druid是阿里巴巴开源的数据库连接池,除了基本的连接池功能外,还提供了监控、SQL解析、日志等扩展功能。配置Druid时,需要在Hibernate的配置文件中添加Druid的相关配置,如`initialSize`、`...

    hibernate以及连接池

    总结来说,Hibernate简化了Java与数据库的交互,而连接池则优化了数据库连接的管理,二级缓存进一步提升了数据访问的效率。理解和熟练掌握这些技术,能够帮助开发者构建更高效、稳定的Java应用程序。

    java+hibernate双数据源配置

    在SpringBoot中,可以通过配置文件选择HikariCP、Druid或Tomcat等连接池。 7. **测试与调试** - 编写测试用例,确保双数据源配置正确无误。可以编写针对每个数据源的CRUD操作,验证读写功能是否正常。 在实际项目...

    Hibernate3连接池示例

    总结起来,"Hibernate3连接池示例"展示了如何利用Hibernate3和C3P0连接池实现高效的数据访问。这个示例代码演示了如何配置C3P0,设置数据源,以及如何在Java代码中使用这些配置进行数据库操作。通过这种方式,开发者...

    hibernate配置数据库连接池的三种方法

    【hibernate配置数据库连接池的三种方法】 在软件开发中,数据库连接池是一种重要的资源管理工具,它能显著提高数据库操作的效率和性能。连接池通过预先创建并维护一定数量的数据库连接,使得应用程序在需要时可以...

    Hibernate_Druid整合源码

    在Java Web开发中,Hibernate作为一款强大的ORM(对象关系映射)框架,能够简化数据库操作,而Druid则是一款高性能、灵活且功能丰富的数据库连接池。当两者结合使用时,可以进一步优化数据访问性能,提升应用的稳定...

    常用数据库连接池 (DBCP、c3p0、Druid) 配置说明1

    本文主要探讨了三个常用的数据库连接池:DBCP、c3p0和Druid,以及它们的配置说明。 1. **DBCP(Apache Commons DBCP)** DBCP是Apache Commons项目的一部分,它依赖于Apache Commons Pool对象池机制来管理数据库...

    hibernate配置连接池

    2. 配置Hibernate属性:在Hibernate的配置文件(hibernate.cfg.xml)中,需要定义连接池的相关参数。例如: ```xml &lt;property name="hibernate.connection.provider_class"&gt;org.hibernate.connection....

    hibernate结合连接池相关配置

    本篇文章将深入探讨如何配置Hibernate以配合连接池进行高效的数据交互。 一、连接池简介 连接池是数据库连接的一种管理机制,它预先创建并维护一定数量的数据库连接,当应用程序需要时可以从池中获取,使用完毕后...

    druid连接池与C3P0连接池jar包.rar

    首先,让我们来看看Druid连接池。Druid是由阿里巴巴开发的一款高性能的数据库连接池组件。它的全名是“Druid Database Connection Pool”。Druid的主要特点包括: 1. **监控和诊断**:Druid提供了强大的监控和诊断...

    整合SpringMVC+Spring+Hibernate+druid框架

    Druid是阿里巴巴开源的一个高性能、可扩展的数据库连接池。它提供了监控、SQL解析、拦截器等功能,提高了数据库访问的性能和稳定性。整合Druid时,我们需要在Spring配置中定义数据源,并配置相关的监控和拦截器。 ...

    hibernate连接池驱动

    总的来说,理解并正确配置Hibernate连接池驱动对于提升应用的性能和可扩展性至关重要。无论是c3p0还是Proxool,它们都是为了优化数据库连接的生命周期管理,减少数据库连接创建和释放带来的开销,从而提高系统整体的...

    springboot+ mybatis+druid连接池(带监控)

    在构建Web应用时,Spring Boot、MyBatis和Druid连接池的组合是常见的选择,因为它们能够提供高效、稳定且可监控的数据访问层。本文将深入探讨这些组件以及如何结合使用它们,尤其是如何实现Druid的监控功能。 首先...

    JDBC常用连接池 c3p0 BDCP Druid

    C3P0是一个开放源代码的JDBC连接池,它在lib目录中与Hibernate一起发布,包括了实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象 DBCP (Database Connection Pool)是一个依赖Jakarta ...

    基于Java和Spring MVC的JPA集成设计源码,使用Druid数据库连接池

    集成springmvc和hibernate的JPA项目源码,共85个文件,采用Java语言编写,涉及多种文件类型如JAR打包文件、Java源代码、XML配置文件、...该项目使用Druid数据库连接池,提供了一个高效、稳定的数据库连接管理解决方案。

Global site tag (gtag.js) - Google Analytics