下载 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:持久化类的映射文件

         
         

       
       

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

  1. [ 学习笔记 ] Hibernate框架学习之一

    一.JavaEE开发三层结构和三大框架的对应关系: Struts2框架 -> 表现层 web层(MVC是表现层的设计模型) 业务层 service层 Hibernate框架 -> 持久层 ...

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

    错误1:MappingException: Unknown entity解决方案 http://jingyan.baidu.com/article/e75aca8552761b142edac6cf.h ...

  3. j2ee开发之hibernate框架学习笔记

    hibernate框架技术重点学习笔记 1.针对不同的数据库,有不同的数据库实现类,使其符号对应的数据库? mysqlDaoImpl oracleDaoImpl ... ... 2.对象和表记录的转换 ...

  4. hibernate框架学习笔记6:事务

    MySQL的事务.JDBC事务操作: 详细见这篇文章:比较详细 http://www.cnblogs.com/xuyiqing/p/8430214.html 如何在hibernate中配置隔离级别: ...

  5. hibernate框架学习笔记3:API详解

    Configuration对象: package api; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configur ...

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

    实体类: package domain; public class Customer { private Long cust_id; private String cust_name; private ...

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

    hibernate框架属于dao层,类似dbutils的作用,是一款ORM(对象关系映射)操作 使用hibernate框架好处是:操作数据库不需要写SQL语句,使用面向对象的方式完成 这里使用ecli ...

  8. Hibernate框架笔记02_主键生成策略_一级缓存_事务管理

    目录 0. 结构图 1. 持久化类的编写规则 1.1 持久化和持久化类 1.2 持久化类的编写规则 2. 主键生成策略 2.1 主键的分类 2.2 主键生成策略 3. 持久化类的三种状态[了解] 3. ...

  9. Hibernate框架笔记01_环境搭建_API_CRUD

    目录 1. Hibernate框架的概述 1.1 什么是框架 1.2 经典三层架构 1.3 Hibernate框架 2 Hibernate入门 2.1 下载Hibernate的开发包 2.2 创建项目 ...

随机推荐

  1. RequireJS中的require返回模块

    requirejs中定义AMD模块规则如下: define(function(){ var ProductManager={ Create:function(){ console.log(" ...

  2. 转:客户端session与服务端session

    会话(Session)跟踪是Web程序中常用的技术,用来 跟踪用户的整个会话 .常用的会话跟踪技术是Cookie与Session. Cookie通过在客户端记录信息确定用户身份 , Session通过 ...

  3. 我的Java设计模式-策略模式

    今天给大家说说田忌赛马的故事.如有雷同,纯属巧合!话说在战国时期,群雄割据,硝烟四起,茶余饭后还是少不了娱乐活动的,其中赛马是最火爆的.一天,孙膑看到田忌像个死鸡似的就知道肯定赛马又输给了齐威王,立马 ...

  4. window下nginx注册成服务

    1. a.下载windows版nginx (http://nginx.org/download/nginx-1.10.0.zip),并且下载注册服务工具, b.下载地址: http://repo.je ...

  5. 【前端】Vue2全家桶案例《看漫画》之四、漫画页

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_app_4.html 项目github地址:https://github.com/shamoyuu/ ...

  6. Android内核解读-应用的安装过程

    前言 我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道andr ...

  7. 拼接SQL语句缺少“break”

    1.错误描述 [ERROR:]2015-07-20 16:42:21,734 [插入失败] org.hibernate.exception.SQLGrammarException: error exe ...

  8. stun/turn/ice学习笔记

    stun基本只是用于client探测NAT之后靠近stun server的外网地址,本身不包含应用数据通信的功能,其底层STUN协议通信多是基于UDP的.多个端点之间相互通过信令通道拿到彼此的NAT外 ...

  9. MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决 转

    MFC关于多线程中传递窗口类指针时ASSERT_VALID出错的另类解决   在多线程设计中,许多人为了省事,会将对话框类或其它类的指针传给工作线程,而在工作线程中调用该类的成员函数或成员变量等等. ...

  10. Apace Ignite剖析

    1.概述 Apache Ignite和Apache Arrow很类似,属于大数据范畴中的内存分布式管理系统.在<Apache Arrow 内存数据>中介绍了Arrow的相关内容,它统一了大 ...