技术帮
 

hbm.xml映射文件

本网站内容基本都是原创作品,未得到作者同意也欢迎转载
转载请注明出处:技术帮
说你呢,赶紧长按二维码,然后点击识别图中二维码

任何技术难题可进QQ群提问:【小崔说编程
对于提问的原则是:没有你不能问的,只有我不会答的

1472955908895017376.png说两句


hibernate方便的实现了数据表和Java实体类的映射,映射后可以将精力集中在java层。这一映射关系主要体现在hbm.xml中,在这个文件中映射了数据表与实体类、字段与成员变量的关系。

1473058358717068189.png 简单的映射配置

本例子描述了一个简单的数据表t_userinfo与Java实体类UserInfo的映射。

数据库采用mysql5.5,数据表名为t_user_info,结构如下:

主键noid,整型、自增

用户名(user_name),varchar(30) 

性别(sex),int(11)

CREATE TABLE `t_user_info` (
  `noid` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(100) NOT NULL,
  `sex` int(11) DEFAULT NULL,
  PRIMARY KEY (`noid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


对应的实体类UserInfo的代码如下:

public class UserInfo {
	
	private Integer noid;
	
	private String userName;
	
	private Integer sex;
	
	// getter setter方法省略....
}


UserInfo.hbm.xml配置文件如下:

<?xml version='1.0' encoding='utf-8'?> 
<!DOCTYPE hibernate-mapping PUBLIC   
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"  
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">  
      
<hibernate-mapping>  

    <class name="com.wskj.app.entity.UserInfo" table="t_user_info">  
          
        <id name="noid" column="noid">  
            <generator class="native"/>  
        </id>  
          
        <property name="userName" column="user_name" not-null="true" length="100"/>   
        <property name="sex" column="sex"/>
           
    </class>  
      
</hibernate-mapping>

注意:一定要在hibernate.cfg.xml中加入该hbm.xml的mapping设置。

<mapping resource="com/wskj/app/entity/UserInfo.hbm.xml"/>