Hibernate简单步骤——第三步:建立实体类与数据库表结构的映射关系,需要编写配置文件
* 规范:一般都会在实体类(domain)的包下创建名称为:"**实体类名.hbm.xml**"的配置文件。首先规范不是必须的,但是咱们开发尽量按着规范来。
* 在XML文档中需要引入DTD的约束,该DTD的约束在org\hibernate\hibernate-mapping-3.0.dtd
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
类:
private Long custId;
private String custName;
private Long custUserId;
private Long custCreateId;
private String custSource;
private String custInstry;
private String custLevel;
private String custLinkman;
private String custPhone;
private String custMobile;
/*get、set方法...*/
配置表和类的映射关系
(主键字段的配置):
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!--配置表和类的映射关系 -->
<hibernate-mapping>
<!--将表和类映射起来
name:类名,写类的全限定名(必须配置)
table:表名(必须配置)
catalog:使用mysql配置数据库名、可以不用配置
schema:使用oracle时候配置用户名
-->
<class name="cn.tuzki.crm.domain.CstCustomer" table="cst_customer" >
<!-- 主键的映射配置
name:表中的主键对应的属性(对应类中的对象名)
type:属性的类型
-->
<id name="custId" type="java.Lang.Long">
<!-- 对应表中主键字段 -->
<column name="cust_id"></column>
<!-- 主键的生成策略
identity、native:自增主键生成策略
-->
<generator class="identity"></generator>
</id>
(非主键字段的配置):
<!-- 普通属性和字段的映射
property:custName是CstCustomer类中的属性名
type:指定当前映射类中的属性custName的类型,字段类型,要注意,JavaBean是String,而数据库中是varchar, 那么hibernate类似于中间的桥梁,有字符串类型的表示方式。type类型还可以省略不写
column:cust_name是cst_customer表中的字段名
-->
<property name="custName" type="string">
<!-- 属性对应的字段 -->
<column name="cust_name"></column>
</property>
/*后面的属性配置就不一一写出来了*/
<property name="custName" type="string">
<!-- 属性对应的字段 -->
<column name="cust_name"></column>
</property>
以上属性对应字段配置的代码也可以简单写成另一种形式:
<property name="custName" type="string" column="cust_name"></property>