`
snoopy7713
  • 浏览: 1127094 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

hibernate入门 一

阅读更多

一 第一个应用实例

1 .搭建环境:新建一个名为HibernateDemojava 工程,并导入Hibernatejar 包,特别要注意除了导入lib 下的jar 包还需导入hibernate3.jar 核心jar 包。 由于涉及数据库操作,还应导入mysql 驱动包。

2 .简述Hibernate 的作用:ORMObject Relational Mapping ,对象关系映射。将java 程序中的对象自动持久化到关系数据库中。而Hibernate 的作用好比就是在java 对象与关系数据库之间的一座桥梁,它主要负责两者之间的映射。在Hibernate 内部封装了JDBC 技术(但只是一个轻量级的封装,因而可以让程序设计人员更方便的以面向对象的思想操纵数据库),并向外提供API 接口。

3 .建新一个名为User.java 的类,即是上面所说的java 对象。我们以后称这种类为实体类(或是持久化类) ,它的对象为实体对象(或是持久化对象)User.java 内容如下:

package com.asm.hibernate.domain;   
import java.util.Date;   
public class User {   
    private int id;   
    private String name;   
    private Date date;   
  
    public int getId() {   
        return id;   
    }   
    public void setId(int id) {   
        this.id = id;   
    }   
    public String getName() {   
        return name;   
    }   
    public void setName(String name) {   
        this.name = name;   
    }   
    public Date getDate() {   
        return date;   
    }   
    public void setDate(Date date) {   
        this.date = date;   
    }   
}  

 4 .编写配置文件:User.hbm.xml 。它和User.java 放在同一个包下。内容如下:

<?xml version="1.0"?>  
<!DOCTYPE hibernate-mapping PUBLIC    
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"   
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">  
<hibernate-mapping    
    package="com.asm.hibernate.domain">  
  
    <class name="User">  
        <id name="id">  
            <generator class="native"/>  
        </id>  
        <property name="name"></property>  
        <property name="date"></property>      
    </class>  
</hibernate-mapping>  

 

此配置文件,是用来为User.java 进行配置的,我们以后称这种文件为实体配置文件 (或是持久化类映射文件)   < class> 用来关联一个java 类,注意在前面的根元素下有一个package 属性,这样结合这个packageclass 标签下所指定的类名,就共同关联映射了一个java 类。 其实可以这样理解,每一个包下都有实体配置 文件,而这个配置文件开始的根元素package 指定了此文件所处的位置(或是说它所关联的包),根元素下可以有多个<class> 标签(查阅dtd 文件),它们可以分别来关联包下的java 类文件。

<class> 标签 ,一般建议至少有两个属性:name 属性用来关联一个java 类,比如这里关联了User 类;table 属性用来指定这个类所对应的表文件,如果不指定,系统会自动name 指定的类文件进行关联(比如上面实际是: < class name = "User" table = "user" >  

<class> 标签下的子标签

l        <id> 子标签实际就是用来映射主键,<id> 下的name 就是用来指java 类中的id 属性,而它可以有一个 column 属性用来指定表中的主键。同时注意在此标签下有一个 < generator class = "native" /> 标签,它是用来指定主键的生成方式。

l        <property> 子标签,就是用来指定java 类的属性映射到表中的一个字段,默认下此标签没有指定column 属性,即是说它会把name 所关联的属性名作为字段名。 如果不想java 类中的某些属性映射到表中,只要不用这个标签来关联这些属性即可。

l        总结:上面的<class><id><property>name 属性都分别指定了java 类,java 类的属性。而tablecolumn 是用来指定表,字段名

配置文件 hibernate.cfg.xml 。它放在当前的项目的根目录下。内容如下:

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics