zoukankan      html  css  js  c++  java
  • 04-Hibernate的常见配置

    1.核心配置

    核心配置有两种方式进行配置:

        •  属性文件的配置:

    * hibernate.properties

    * 格式:

    * key=value

    * hibernate.connection.driver_class=com.mysql.jdbc.Driver

    ***** 注意:没有办法在核心配置文件中加载映射文件.(必须手动编码的方式进行加载.)

     

        • XML格式文件配置:

    * hibernate.cfg.xml

    * 格式:

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

     

    核心配置中:

        • 1.必须的配置:

    * 连接数据库4个基本参数:

    hibernate.connection.driver_class  连接数据库驱动程序

    hibernate.connection.url   连接数据库URL

    hibernate.connection.username  数据库用户名

    hibernate.connection.password   数据库密码

     

    * Hibernate的方言:

    hibernate.dialect   操作数据库方言

     

        • 2.可选的配置:

    hibernate.show_sql  true 在控制台上输出SQL语句

    hibernate.format_sql  true  格式化控制台输出的SQL语句

    hibernate.connection.autocommit  true 事务是否自动提交

    hibernate.hbm2ddl.auto   create/create-drop/update/validate

    * create         :每次执行的时候,创建一个新的表.(如果以前有该表,将该表删除重新创建.) 一般测试的时候的使用.

    * create-drop    :每次执行的时候,创建一个新的表,程序执行结束后将这个表,删除掉了. 一般测试的时候使用.

    * update         :如果数据库中没有表,创建一个新的表,如果有了,直接使用这个表.可以更新表的结构.

    * validate       :会使用原有的表.完成校验.校验映射文件与表中配置的字段是否一致.不一致报错.

     

        • 3.映射的配置:
    • 在核心配置文件中加载映射文件:

    * <mapping resource="cn/itcast/hibernate3/demo1/Customer.hbm.xml" />

    • 使用手动编码的方式进行加载 :

     

    映射文件的配置:

    ORM:对象和关系映射.

    * 配置Java对象与表映射.

        • * 配置类与表的映射:

    * name:类的全路径:

    * table:表的名称:(可以省略的.使用类的名称作为表名.)

    <class name="cn.itcast.hibernate3.demo1.Order" table=”orders”>

     

        • * 配置普通属性与字段映射:

    <property name="name" column="name" type="string" length=”20”/>

    type:三种写法

                * Java类型      :java.lang.String

                * Hibernate类型 :string

                * SQL类型       :不能直接使用type属性,需要子标签<column>

                    * <column name="name" sql-type="varchar(20)"/>

     

        • * 配置唯一标识与主键映射:

    * 一个表中只有一个主键的形式:

    <id name=”id” column=”id”>

    * 生成策略:

     

        • * 一个表对应多个主键形式:(复合主键:)---了解.

    * <composite-id></composite-id>

     

        • * 关联关系:
        • * 命名SQL:

    <query name="findAll">

        from Customer

    </query>

     

    <sql-query name="sqlFindAll">

        select * from customer

    </sql-query>

     

  • 相关阅读:
    linux下mysql的root密码忘记解决方法
    基于NIO2的遍历文件夹简单复制
    bootstrap插件bootstrapValidator常用验证规则总结
    《程序员修炼之道》-读书笔记六-工厂模式下的伪DI依赖注入
    cpu 突增问题排查
    一次线上OOM 的定位
    熔断、限流、降级的区别
    Mac 下 idea 在同一个窗口下打开多个项目
    No operations allowed after connection closed
    java 死锁演示
  • 原文地址:https://www.cnblogs.com/1963942081zzx/p/6516599.html
Copyright © 2011-2022 走看看