hibernate配置文件解释

hibernate映射配置文件

  • 映射配置文件名称和位置没有固定的要求
  • class标签的
    • name属性值写实体类的全路径
    • table属性写生成的表格的名称
    • dynamic-insert属性如果是true,那么动态生成的 insert语句中仅包含取值不是null的字段,默认值是false
    • dynamic-update属性如果是true,那么只更新指定的需要更新的字段
  • id标签
    • name:类中的唯一属性
    • column:表格的字段名
    • type:数据类型
    • generator:主键生成策略
  • property标签
    • name:类的属性名
    • column:表格的字段名
    • type:数据类型
    • unique:添加唯一约束
    • update:是否允许这一列被修改
    • index:添加索引
    • length:列的长度
  • id标签和property标签,column属性可以省略,
    • 如果省略默认值column的值和name的值是一样的
  • property标签type属性,设置生成表字段的类型,自动对应类型
<?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 <hibernate-mapping>
    <class name="com.td.domain.Order" table="t_order">
        <id name="oid" column="oid">
            <generator class="native"></generator>
        </id>
        <property name="oaddress" column="oaddress"></property>
        <property name="phone" column="phone"></property>

    </class>

 </hibernate-mapping>

hibernate 核心配置文件

  • 核心配置文件的位置和名称是固定的,
    • 名称:hibernate.cfg.xml
    • 位置:src目录下
  • 配置的内容写在session-factory标签内
  • 配置的三部分内容
    • 数据库部分是必须的
    • hibernate部分是可选的
    • 引入映射文件是必须的,可以引入多个映射配置文件
  • ==如果hibernate和spring整合,hibernate的核心配置文件的名字和位置是没有固定的要求的==
<?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="hibernate.connection.deriver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydb1</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">123</property>
        <!-- 2. 配置hibernate信息,可选操作,不需要全部配置,使用什么配置什么 -->
            <!-- 输出底层sql语句 -->
        <property name="hibernate.show_sql">true</property>
            <!-- 输出底层sql语句格式 -->
        <property name="hibernate.format_sql">true</property>
            <!-- hibernate自动建表,如果有就更新,没有就新建
                create:每次运行都会重新生成表格
                create-drop:sessionFactory一关闭,表格就删除
                validate:汇合数据库中的表进行比较,如果映射配置文件中定义的字段在表格中不存在就会抛出异常
             -->
        <property name="hibernate.hbm2ddl.auto">update</property>
            <!-- 配置支持mysql 方言 -->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <!--3. 引入映射配置文件  -->
        <mapping resource="com/td/domain/Goods.hbm.xml"/>
        <mapping resource="com/td/domain/Order.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

==注意==:

  • 对于mysql5.5版本之后的方言配置应该是
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值