用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>