`

Hibernate_配置说明

 
阅读更多

<?xml version="1.0" encoding="utf-8"?>  

<!DOCTYPE hibernate-configuration  

    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"  

    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  

  

<hibernate-configuration>  

    <session-factory >  

      

        <!-- 启动服务器时,自动更新数据库.开发结束以后,删掉下面这行-->  

        <property name="hibernate.hbm2ddl.auto">update</property>  

          

        <!-- JDBC数据库连接的URL -->  

        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/databasename?characterEncoding=UTF-8</property>  

        <!-- JDBC驱动类 -->  

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  

        <!-- 用户名 -->  

        <property name="hibernate.connection.username">root</property>  

        <!-- 密码 -->  

        <property name="hibernate.connection.password">123456</property>  

        <!-- Hibernate数据库方言 -->  

        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>  

        <!-- 是否显示SQL语句 -->  

        <property name="hibernate.show_sql">false</property>          

  

          

        <!-- 配置数据库连接池 -->  

        <!-- Hibernate连接池类名 -->  

        <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>  

        <!-- 最大连接数 -->  

        <property name="hibernate.c3p0.max_size">100</property>  

        <!-- 最小连接数 -->  

        <property name="hibernate.c3p0.min_size">10</property>  

        <!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位秒 -->  

        <property name="hibernate.c3p0.timeout">120</property>  

        <!-- 最大的预编译语句的数量 -->  

        <property name="hibernate.c3p0.max_statements">50</property>  

        <!-- 每隔多少秒检查连接池里的空闲连接 ,单位是秒-->  

        <property name="hibernate.c3p0.idle_test_period">120</property>  

        <!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->  

        <property name="hibernate.c3p0.acquire_increment">2</property>  

        <!-- 每次都验证连接是否可用 -->  

        <property name="hibernate.c3p0.validate">true</property>  

          

          

        <!-- 指定的映射类 -->  

        <mapping class="edu.xmu.auto.entity.Role"/>  

        <mapping class="edu.xmu.auto.entity.User"/>  

    </session-factory>  

      

</hibernate-configuration>  

 

 

现在开始详解: 首先是文件头部分,这部分就不用解释了吧,当然也不需要自己去记忆。可以直接到官网给出的demo拷贝这部分

 

<?xml version="1.0" encoding="utf-8"?>  

<!DOCTYPE hibernate-configuration  

    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"  

    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">  

 

 

接下来就是如何配置Hibernate了,Hibernate的配置文件都放在下面标签内,不解释  

 

<hibernate-configuration>  

    <session-factory >  

    <!-- 配置文件内容-->  

    </session-factory>      

</hibernate-configuration>  

 

 

下面的才是重点:

 

<!-- 启动服务器时,自动更新数据库,不过MySQL或其它数据库中要有你自己创建的数据库名,里面可以没有表.开发结束以后,可以去掉这个属性-->

<!-- 这里有这样4个值可选:update create create-drop validate,个人建议用update

validate               加载hibernate时,验证创建数据库表结构

create                  每次加载hibernate,重新创建数据库表结构,这就是导致数据库表数据丢失的原因。

create-drop        加载hibernate时创建,退出是删除表结构

update                 加载hibernate自动更新数据库结构,但不会删除原有数据

-->

<property name="hibernate.hbm2ddl.auto">update</property>  

 

 

<!-- JDBC数据库连接的URL -->

<!--

MySQL数据库URL:jdbc:mysql:// ip:port/databasename ,port默认为3306

Oracle 数据库URL:jdbc:oracle:thin:@ip:port:databasename,port默认为1521

SQL Server数据库URL: jdbc:microsoft:sqlserver://ip:port;DatabaseName=databasename ,port默认为1433

如果数据库是在远程电脑,则将localhost换为对应的IP地址; 将databasename换成对应的数据库名;

编码方式根据数据库的编码设置,数据库的编码方式是什么,就改为什么

-->

<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/databasename?characterEncoding=UTF-8</property>  

 

<!-- JDBC驱动类 -->

<!--

至于需要添加的jar包,自己百度下面的驱动类名,就可以找到了

MySQL 数据库驱动:com.mysql.jdbc.Driver 

SQL Server 数据库驱动: com.microsoft.jdbc.sqlserver.SQLServerDriver

Oracle 数据库驱动:oracle.jdbc.driver.OracleDriver

-->

<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>  

 

 

<!-- 用户名 -->

<!--

MySQL数据库默认用户名是 root

Oracle数据库默认用户名为 sysdba

SQL Server 数据库默认用户名为 sa

-->

<property name="hibernate.connection.username">root</property>  

<property name="hibernate.connection.password">123456</property>  

 

 

<!-- Hibernate数据库方言 -->

<!-- 

MySQL数据库方言为 org.hibernate.dialect.MySQLDialect

Oracle9i/10g 数据库方言为 org.hibernate.dialect.Oracle9Dialect

SQL Server 数据库方言为 org.hibernate.dialect.SQLServerDialect

-->

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>  

 

 

<!-- 是否在控制台显示SQL语句 ,方便调试。开发过程可以设为true,开发结束以后设为false-->

<!-- 允许的值为true 和 false -->

<property name="hibernate.show_sql">false</property>  

 

 

<!-- 配置数据库连接池 ,,默认情况下(即没有配置连接池的情况下),Hibernate会采用内建的连接池。但这个连接池性能不佳,且存在诸多BUG。Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool-->

 

<!-- Hibernate连接池类名,我现在用的是C3P0 -->

<property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>  

 

<!-- 最大连接数 -->

<property name="hibernate.c3p0.max_size">100</property>  

<!-- 最小连接数 -->

<property name="hibernate.c3p0.min_size">10</property>  

 

<!-- 获得连接的超时时间,如果超过这个时间,会抛出异常,单位秒 -->

<property name="hibernate.c3p0.timeout">120</property>  

  

<!-- 最大的预编译语句的数量 -->

<property name="hibernate.c3p0.max_statements">50</property>  

 

<!-- 每隔多少秒检查连接池里的空闲连接 ,单位是秒-->

<property name="hibernate.c3p0.idle_test_period">120</property>  

 

<!-- 当连接池里面的连接用完的时候,C3P0一下获取的新的连接数 -->

<property name="hibernate.c3p0.acquire_increment">2</property>  

 

<!-- 每次都验证连接是否可用,允许值true,false -->

<property name="hibernate.c3p0.validate">true</property>         

 

 

<!-- 指定的映射-->

<!--

映射通常有两种形式,一种是<mapping resource="com/mycom/entity/User.hbm.xml"/>,这种形式是通过映射文件来处理映射关系的,笔者的建议是,如果你想通过数据库生成java类,那么你就用这种方式。直接利用HibernateSychronizer插件来生成。否则的话,配置xml文件极为繁琐,而且当变动数据库模型的时候,有可能出错

一种是 <mapping class="com.mycom.entity.User"/>这种形式,这种方式通常是利用java类来生成数据库表(当然前提是要配置hibernate.hbm2ddl.auto属性喽),这种方式是直接在Java类里面用@annotation来标注,详细请察看笔者的另一篇文章 http://titanseason.iteye.com/blog/1279198

-->

 

Xml代码  

<mapping class="com.mycom.entity.User"/>  

<mapping class="com.mycom.entity.Role"/>  

<!--  

<mapping resource="com/mycom/entity/User.hbm.xml"/>  

<mapping resource="com/mycom/entity/User.hbm.xml"/>  

-->  

分享到:
评论

相关推荐

    test_hibernate_oracle_03.zip_Insert _hibernate_oracle_query_upda

    - **resource**:资源文件夹,可能存放Hibernate的配置文件(如hibernate.cfg.xml)、数据库连接信息、日志配置等。 - **lib**:包含项目所需的外部库,比如Hibernate库、Oracle JDBC驱动等。 通过这个项目,你可以...

    struts_hibernate_bbs.rar_bbs_hibernate b_hibernate bbs_struts hi

    学习这个项目,开发者可以深入理解如何在实际项目中整合Struts和Hibernate,如何设计Action类处理用户请求,如何配置Struts的配置文件(struts.xml),以及如何定义Hibernate的实体类和映射文件(hbm.xml)。同时,还能...

    hibernate_reference1.rar_配置文件

    《Hibernate配置文件详解》 在Java企业级应用开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本教程将深入探讨Hibernate的核心配置文件,了解其重要字段及其作用,帮助开发者更...

    hibernate_配置cascade_及all-delete-orphan.doc

    在使用Hibernate时,正确选择和配置cascade选项对于高效地管理和维护实体之间的关系至关重要。通过了解不同选项的特点和应用场景,开发人员可以更加灵活地应对各种业务需求,同时也能够有效地避免潜在的数据一致性...

    Hibernate_PDF_超好

    这个文档是开发者在实际编程时的重要参考工具,包含了所有Hibernate类、接口及其方法的详细说明。开发者可以通过查阅此文档,快速定位并理解 Hibernate 中的各种类和方法,以解决开发过程中遇到的具体问题。 再者,...

    Hibernate_Validator_reference中文版@www.java1234.com.pdf

    Hibernate Validator提供了多种配置方式,包括使用XML配置。该文档对如何使用 validation.xml 文件和如何映射约束做了说明。在启动框架时,需要配置和初始化 ValidatorFactory,该文档也对此有所涉及。 Hibernate ...

    BBS.rar_bbs论坛spring_hibernate_spring bbs_struts hibernate bbs_论坛

    【标题】"BBS.rar_bbs论坛spring_hibernate_spring bbs_struts hibernate bbs_论坛" 提供了一个关于Java技术栈实现的BBS论坛系统的信息,该系统结合了Spring、Hibernate和Struts框架。这三大框架是Java Web开发中的...

    Hibernate_实体类_注解_说明

    - **`@Column`**:提供了对数据库字段的详细配置能力,如`name`(字段名)、`nullable`(是否允许空值)、`unique`(是否唯一)、`length`(长度限制)、`insertable`与`updateable`(是否参与插入或更新操作)以及`...

    compass_hibernate_spring2.zip

    压缩包内的文件“compass_hibernate_spring2”可能是包含源代码、配置文件和文档的目录,用户可以通过解压并导入到 IDE 中,跟随提供的说明来运行示例或学习如何集成这三个框架。 总的来说,这个压缩包提供了一个...

    Hibernate_v5.2.13.zip

    1. **说明.htm**:可能包含关于该版本的简要介绍,包括新特性、改进和已知问题等信息。 2. **hibernate-orm-5.2.13**:这个目录下包含了Hibernate 5.2.13的主要源代码。其中可能包含以下几个关键部分: - **src/...

    Hibernate_Tools_for_eclipse_HbmTool.rar

    配置一个新的配置项,输入配置项的名称MyHibernateCode,选择Hibernate Configuration(即已配好的Hibernate控制台配置),在Output directory中输入反向代码输出目录(注意这个目录一般只需项目的源代码src),然后...

    spring_jpa_hibernate_shiro整合(maven)

    本项目整合spring_jpa_hibernate_shiro,spring_jpa_hibernate_shiro.zip 里有代码,spring_jpa_hibernate常用的小弟就没有单独说明了,在项目配置文件里写得比较清楚,小弟在主要是shiro权限控制做了单独说明,如有...

    SPRINGMVC_HIBERNATE_LIB

    "新建文本文档.txt"可能包含了项目说明、配置指南或其他相关信息,尽管没有具体文件内容,但可以推测这是项目的一部分。 综合来看,这个“SPRINGMVC_HIBERNATE_LIB”压缩包可能是一个用于快速启动SpringMVC和...

    Hibernate_3.1.2中文文档(PDF)

    接着,它会详细解释如何安装和配置Hibernate,包括设置环境变量、引入依赖库以及配置hibernate.cfg.xml文件等步骤。这对于初学者来说是非常重要的,因为正确配置是成功使用Hibernate的第一步。 在对象关系映射部分...

    Hibernate_3.2属性文档介绍_中文

    标题和描述均提到了“Hibernate_3.2属性文档介绍_中文”,这表明文档主要聚焦于Hibernate 3.2版本的属性配置与使用说明。Hibernate是Java领域内一个流行的开源对象关系映射(ORM)框架,它允许开发人员将数据库表...

    hibernate官方API +Hibernate開発指南+hibernate_reference

    1. **配置 Hibernate**:讲解如何创建hibernate.cfg.xml配置文件,设置数据库连接、方言、缓存等。 2. **实体映射**:介绍XML文件(hbm.xml)或使用注解的方式进行对象到表的映射,如@ManyToOne、@OneToMany、@...

    Hibernate 课件_配置文件详解

    ### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...

    Hibernate_Tools_for_Eclipse插件的安装包和使用说明

    Hibernate Tools是Eclipse集成开发环境中的一款强大插件,它为开发者提供了方便的Hibernate实体类生成、数据库反向工程、SQL执行及对象关系映射(ORM)配置等多种功能。在本文中,我们将详细介绍如何安装Hibernate ...

    Spring_Hibernate_Struts环境构建(图解)

    在`appactionContext.xml`中,配置了`LocalSessionFactoryBean`,指定Hibernate配置文件的位置。然后,添加`HibernateTransactionManager`,用于管理事务。此外,通过`&lt;tx:advice&gt;`和`&lt;tx:attributes&gt;`标签,可以...

    Spring_Hibernate_Struts2整合

    2. **Hibernate配置**:设置Hibernate的属性,如连接池、方言、缓存策略等,并在实体类上使用注解进行数据映射。 3. **Struts2配置**:配置struts.xml文件,定义Action的入口点、结果类型、拦截器栈等。 **五、测试...

Global site tag (gtag.js) - Google Analytics