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>

     

  • 相关阅读:
    方法的重载;数组 (Java Day05)
    switch语句;for/while循环;死循环;跳转语句;嵌套循环;方法及方法的调用(Java Day04)
    运算符;键盘录入;分支结构(Java Day03)
    基础概念学习;常量;变量;编码表;数据类型转换(Java Day02)
    Java语言基本概述;入门案例学习;环境变量的配置;Eclipse安装(Java Day01)
    JVM内存模型
    java多线程对CountDownLatch的使用
    System.nanoTime()的使用
    this用法
    idea取消重复代码提醒的功能
  • 原文地址:https://www.cnblogs.com/1963942081zzx/p/6516599.html
Copyright © 2011-2022 走看看