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>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<mapping resource="com/td/domain/Goods.hbm.xml"/>
<mapping resource="com/td/domain/Order.hbm.xml"/>
</session-factory>
</hibernate-configuration>
==注意==:
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>