用hibernate将类映射到数据库

原创 2004年11月16日 20:27:00

用hibernate将类映射到数据库

<!--hibernate配置文件hibernate.cfg.xml-->
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
                                         "http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>

 //SessionFactory是Hibernate的概念,对应一个数据存储源,如果有多个数据库,可以创建多个XML配置文件,也在你的程序中创建多 //个Configuration和SessionFactory对象。
    <session-factory>
        <property name="show_sql">false</property>
        <property name="use_outer_join">false</property>
        <property name="dialect">net.sf.hibernate.dialect.Oracle9Dialect</property>
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@111.11.1.7:1521:lab</property>
        <property name="connection.username">lab</property>
        <property name="connection.password">lab</property>
       
  <!-- Mapping files -->
  //下面以第一个mapping元素为例,它声明了Mlab.hbm.xml是一个映射文件,对应持久化类Mlab,它把普 //通的java类映射到数据库表
        <mapping resource="labform/common/hbm/Mlab.hbm.xml"/>
        <mapping resource="labform/common/hbm/Mlabsinfo.hbm.xml"/>
</hibernate-configuration>
<!--END 文件hibernate.cfg.xml-->
============================================================================================================
<!--映射文件Mlab.hbm.xml-->
//该文见保存于labform/common/hbm/目录下,包含了对象/关系映射所需的元数据

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
   
<hibernate-mapping>
<!--
    Created by the Middlegen Hibernate plugin

    http://boss.bekk.no/boss/middlegen/
    http://hibernate.sourceforge.net/
-->

<class
    name="labform.common.entity.Mlab" //Mlab是可持久化类
    table="MLAB"                                     //数据库表
>
 /**每个持久化类都需要一个标识属性,这个属性用来区分持久化对象:如果mlabA.getSeqid().equals(mlabB.getSeqid())结果是   * true的话,两个对象就是相同的。这个概念称为数据库标识。
  * 指定MLAB表的SEQID字段作为表的主键,存放生成的标识值
  */
    <id name="seqid" type="int" column="SEQID" >
        <generator class="sequence">
            <param name="sequence">MLAB_S</param>
        </generator>
    </id>

 <property
            name="roomid" //类中的属性变量
            column="ROOMID" //数据库表的字段,对应上一行的roomid
            type="java.lang.String"
            length="5"
    />

 <property
            name="score"
            column="SCORE"
            type="int"
            length="22"
    />

</class>
</hibernate-mapping>
<!--END 文件Mlab.hbm.xml-->
===========================================================================================================
<!--实体类 Mlab.java-->

package labform.common.entity;

public class Mlab implements Serializable {
 //seqid是一个特殊的属性,代表了这个类的数据库标识符(主键),
 private int seqid;
 private int score;
 private String roomid;
 
 //full constructor
 public Mlab(int seqid, int score, String roomid){
  this.seqid = seqid;
  this.score = score;
  this.roomid = roomid;
 }

 //default constructor
 public Mlab(){
 }

 public int getSeqid() {
        return this.seqid;
    }

    public void setSeqid(int seqid) {
        this.seqid = seqid;
    }

 public int getScore() {
        return this.score;
    }

    public void setScore(int score) {
        this.score = score;
    }

 public String getRoomid() {
        return this.roomid;
    }

    public void setRoomid(String roomid) {
        this.roomid = roomid;
    }
}
<END 实体类Mlab.java>

数据库查询映射(MyBatis)

这两周对项目的实际接触让我对从JSP(包括JS、HTML、CSS、SERVLET)到Action到Manage到Dao到Mapper.xml的流程大体熟悉了。其中还涉及到了CData PageDao ...
  • u010241120
  • u010241120
  • 2015年05月15日 19:58
  • 903

数据库的三级模式和两级映射

数据库的三级模式: 模式(概念模式) 全局数据结构的描述 外模式(子模式、用户模式) 用户所见到的数据的视图 内模式(物理模式) 数据库物理存储模式与方法 数据库系统的两级映射...
  • v_xchen_v
  • v_xchen_v
  • 2016年03月15日 17:59
  • 2186

EF映射——从数据库更新实体

最近在做ITOO项目,由于更新了数据库,需要重新从数据库映射到实体,本来看过关于EF的学习资料,直接可以从数据库更新到实体,但这种小事也是有很多问题的,必须在更新的时候做好选择。下面分享一下如何从数据...
  • LeehomeYU
  • LeehomeYU
  • 2017年06月07日 11:16
  • 690

数据映射(data mapping)基本概念

数据映射(Data Mapping) :给定两个数据模型,在模型之间建立起数据元素的对应关系,将这一过程称为数据映射。数据映射是很多数据集成任务的第一步,例如:数据迁移(data migration)...
  • zm_bingxindan
  • zm_bingxindan
  • 2015年08月24日 11:12
  • 1767

mysql数据库对象关系映射

http://www.2cto.com/database/201310/248690.html mysql数据库对象关系映射   1.对“对象关系映射”的理解   a.对象:可以理解...
  • liu0808
  • liu0808
  • 2017年07月15日 23:47
  • 454

用Java实现自己的数据库OR映射框架

OR框架翻译过来就是对象关系映射框架,一提起OR框架,马上就会想起大名鼎鼎的Hibernate,Ibatis,以及其他的一些对象关系映射框架,并惊叹它的神奇。在惊叹之余,不免会产生兴趣一探他们的实现原...
  • zhengzhb
  • zhengzhb
  • 2011年12月13日 17:35
  • 11998

使用 hibernate 根据映射文件生成数据库表

为了更好的显示效果,可以在hibernate.cfg.xml配置文件的标签里加入以下内容: 显示sql语句和格式化显示sql语句: property name="show_sql">truep...
  • liangyixin19800304
  • liangyixin19800304
  • 2013年10月16日 22:56
  • 864

【Hibernate】——实体类映射到数据库表

上回说到, Hibernate是一个开放源代码的对象关系映射框架,其核心应该也就是映射了,所以,今天我们了解一下Hibernate是如何将实体和数据库映射的。--即Hibernate根据实体自动建立表...
  • u012654963
  • u012654963
  • 2016年12月30日 12:31
  • 3154

Hibernate旅程(五)Hibernate映射--基本类映射和对象关系映射

回想一些我们在没有学习ssh的时候,我们建立数据库的表时,首先是数据库建模E-R图,然后再通过实体模型来建立关系模型,再建立相应的表。实体间存在三种关系,一对一,一对多(或者说多对一),多对多。而如今...
  • lovesummerforever
  • lovesummerforever
  • 2014年03月10日 10:40
  • 16137

Hibernate映射解析——七种映射关系

首先我们了解一个名词ORM,全称是(Object Relational Mapping),即对象关系映射。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现,这样开发人员就可以把对...
  • smszhuang168
  • smszhuang168
  • 2012年07月19日 01:00
  • 61646
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用hibernate将类映射到数据库
举报原因:
原因补充:

(最多只允许输入30个字)