zoukankan      html  css  js  c++  java
  • 笔记:Hibernate 框架配置说明

    下载 Hibernate ,打开地址 www.hibernate.org ,点击 Hibernate ORM -> Downloads 下载 4.3.11 版本,要使用Hibernate 需要把 Lib 下面的 required 目录和 optionalc3p0 复制到站点的 WEB-INFlib 目录下,其中 required 目录是 Hibernate 的必须库;optionalc3p0 目录是C3P0数据源必须库;将数据源驱动也复制到 WEB-INFlib 目录下,如果是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:指定数据库的连接 URLMySQL示例 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. managedorg.hibernate.context.ManagedSessionContext 实现,通过当前执行的线程来跟踪和界定上下文相关的Session,但程序需要使用整个类的静态方法将Session实例绑定、取消绑定,他不会自动打开、flush或者关闭
      2. mapping 说明
        1. 属性 class:持久化类的类名称
        2. 属性 resource:持久化类的映射文件

             

           

  • 相关阅读:
    判别模型、生成模型与朴素贝叶斯方法
    git的安装已经连github
    uva 10061 How many zero's and how many digits ?
    Java菜鸟学习笔记()--面向对象篇(七):Wrapper Class包装类
    丁香园技术负责人冯大辉近日在知乎上披露了当年共同创办阿里巴巴的18个合伙人的近况:
    不用派生CTreeCtrl不用繁琐的过程 教你如何让CTreeCtrl的每一项有ToolTip提示
    数据结构排序系列详解之三 冒泡排序
    HDU 4612 (13年多校第二场1002)无向图缩点,有重边
    Mac下cocos2dx3.1用Cocos IDE写的Lua binding篇01
    SECURITY_ATTRIBUTES 设置低权限
  • 原文地址:https://www.cnblogs.com/li3807/p/6358376.html
Copyright © 2011-2022 走看看