笔记:Hibernate 框架配置说明

下载 Hibernate ,打开地址
www.hibernate.org
,点击 Hibernate ORM -> Downloads 下载 4.3.11 版本,要使用Hibernate 需要把 Lib 下面的 required 目录和 optional\c3p0 复制到站点的 WEB-INF\lib 目录下,其中 required 目录是 Hibernate 的必须库;optional\c3p0 目录是C3P0数据源必须库;将数据源驱动也复制到 WEB-INF\lib 目录下,如果是MySQL数据库,可以到
www.mysql.com
站点下载。

  1. Hibernate 配置文件,可以使用 *.properties 属性文件,也可以使用XML文件配置,下面使用XML文件配置:

    1. 配置文件结构如下:

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

      <!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="属性名称">属性值</property>

    …… 多个属性配置 ????????

    ????????<mapping class="持久化类的类名称"/>

    …… 多个持久化类的类名称

    </session-factory>

    </hibernate-configuration>

    1. property 说明

      1. C3P0 属性名称 connection.driver_class:指定连接数据库所用的驱动,MySQL 示例 com.mysql.jdbc.Driver
      2. C3P0 属性名称 connection.url:指定数据库的连接 URL,MySQL示例 jdbc:mysql://数据库服务器地址/数据库名称
      3. C3P0 属性名称 connection.username:数据库登录用户名称
      4. C3P0 属性名称 connection.password:数据库登录用户密码
      5. C3P0 属性名称 dialect:指定数据库的方言,MySQL 示例 org.hibernate.dialect.MySQLInnoDBDialect
      6. C3P0 属性名称 hibernate.c3p0.max_size:连接池里最大连接数
      7. C3P0 属性名称 hibernate.c3p0.min_size:连接池里最小连接数
      8. C3P0 属性名称 hibernate.c3p0.timeout:指定连接池里连接超时时长
      9. C3P0 属性名称 hibernate.c3p0.max_statements:指定连接池最大缓存多少个 Statements
      10. C3P0 属性名称 hibernate.c3p0.idle_test_period:
      11. C3P0 属性名称 hibernate.c3p0.validate:
      12. 属性名称 show_sql:显示 Hibernate 持久化生成的SQL
      13. 属性名称 hibernate.format_sql:将SQL脚本进行格式化后再输出
      14. 属性名称 hibernate.use_sql_comments:是否在Hibernate生成的SQL语句中添加有助于调试的注释
      15. 属性名称 hibernate.jdbc.batch_size:指定JDBC2 批量更新的大小,整数值
      16. 属性名称 hbm2ddl.auto:对表结构进行操作

        1. 值 create:
          每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行;
        2. 值 create-drop:
          每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除;
        3. 值 update:
          第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据 model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会;
        4. 值 validate:
          每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值
      17. 属性名称 hibernate.current_session_context_class:设置 SessionFactory.getCurrentSession() 的底层实现类型

        1. 值 thread:使用 org.hibernate.context.ThreadLocalSessionContext 实现,通过当前正在执行的线程来跟踪和界定上下文相关的 Session
        2. 值 jta:使用 org.hibernate.context.JTASessionContext 实现,根据JTA来跟踪和界定上下文相关的 Session
        3. 值 managed:org.hibernate.context.ManagedSessionContext 实现,通过当前执行的线程来跟踪和界定上下文相关的Session,但程序需要使用整个类的静态方法将Session实例绑定、取消绑定,他不会自动打开、flush或者关闭
    2. mapping 说明

      1. 属性 class:持久化类的类名称
      2. 属性 resource:持久化类的映射文件

        ?
        ?

      ?
      ?

时间: 2024-12-23 03:43:43

笔记:Hibernate 框架配置说明的相关文章

Java学习笔记--Hibernate框架错误集合及解决

错误1:MappingException: Unknown entity解决方案 http://jingyan.baidu.com/article/e75aca8552761b142edac6cf.html 错误2:Could not bind factory to JNDI 2006-07-23 23:14:53,796 [main] WARN org.hibernate.impl.SessionFactoryObjectFactory - Could not bind factory to

j2ee开发之hibernate框架学习笔记

hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换存在着转换问题->orm,对象和关系的一种映射 3.框架:解决一种问题的方案集合! 4..配置文件 Xxx.cfg.xml  主配置文件 xxx.hbm.xml映射文件: 映射基础 普通属性 主键 集合属性 关联关系:一对多  多对一 多对多  一对一 继承结构 5.其他特性:数据库连接池  懒加载

hibernate 框架学习笔记---网上摘抄的一个非常好的例子

编写Spring+Hibernate框架下的应用,总是离不了编写一个通用的泛型GenericHibernateDao.查阅了网上不少的GenericHibernateDao实现,归纳整理为如下实现,供后续编码参考. 首先定义接口泛型DAO接口 GenericDao package com.th.huz; import java.io.Serializable;import java.util.Collection;import java.util.Iterator;import java.uti

hibernate框架学习笔记1:搭建与测试

hibernate框架属于dao层,类似dbutils的作用,是一款ORM(对象关系映射)操作 使用hibernate框架好处是:操作数据库不需要写SQL语句,使用面向对象的方式完成 这里使用eclipse工具搭建: 官网下载:https://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/ 下载.zip文件后解压: lib文件夹下的required文件夹内的jar包为必须包: 另外还需要MySQL的驱动包:

hibernate框架学习笔记2:配置文件详解

实体类: package domain; public class Customer { private Long cust_id; private String cust_name; private String cust_source; private String cust_industry; private String cust_level; private String cust_linkman; private String cust_phone; private String c

初始Hibernate框架技术

hibernate: 定义:ORM:Object Relational Mapping 对象 关系 映射 使用hibernate时几个必要的: 1.实体类 2.映射文件(类  -数据库表,属性-字段)[实体类名.hbm.xml] 3.配置文件:数据库连接信息(两个配置:hibernate.cfg.xml(数据库配置文件)和实体类名.hbm.xml(映射配置文件)) 4.必要架包 hibernate(主框架) ojdbc                       jdbc jta        

Struts2+Hibernate框架探险

写这篇文章的目的 了解 JavaWeb 开发的人都知道SSH和SSM框架,前段时间开始接触 JavaWeb 开发,看了几个教学视频后就想上手构建一个小型 Web项目,可在跟着视频敲代码当中,使用 Struts2+Hibernate框架 却不是那么顺利,百度和谷歌都用上,折腾了几天才搞定.究其原因,是因为Struts和Hibernate框架随着版本的升级,部分 API 有了很大的变化,然而网上的教程几乎全都是旧版本的,为了让更多的框架使用新手不被新旧版本的更替和网上的过时教程所坑,同时也当作个人的

SpringMVC笔记——SSM框架搭建简单实例

落叶枫桥 博客园 首页 新随笔 联系 订阅 管理 SpringMVC笔记——SSM框架搭建简单实例 简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实例记录下来吧. 实例 第一步——导包 Spring框架包及其依赖包 MyBatis框架包及其依赖包 MyBatis-EhCache架包 C3P0架包 MySql数据库驱动包 项目架包如下: 项目结构如

【Hibernate】hibernate框架的搭建

1, Hibernate 是什么 Hibernate框架简化了java应用程序与数据库交互的开发. Hibernate是一个开源,轻量级的ORM(对象关系映射)工具. 2,Hibernate框架的优点 Hibernate框架有很多优点.它们分别如下: 开源和轻量级: Hibernate框架是根据LGPL许可证和轻量级的开源工具. 快速性能: Hibernate框架的性能很快,因为缓存在Hibernate框架内部使用. hibernate框架中有两种类型的缓存:一级缓存和二级缓存.一级缓存默认是启