es (''Gold'',''79'',''197'',''Au'');insert into elements ( name, number, mass, symbol) values (''Ytterbium'',''70'',''173'',''Yb'');insert into elements ( name, number, mass, symbol) values (''Molybdenum'',''42'',''96'',''Mo'');insert into elements ( name, number, mass, symbol) values (''Palladium'',''46'',''106'',''Pd'');
Struts处方 - Hibernate与Struts(2)
时间:2011-04-09
列表1是建立表的SQL语句,在symbol列上建立唯一索引,插入上面那些化学周期元素。当 然你也可以从你高校的化学书本里面找出更多的一些数据插入。
列表2是用来存储从数据库取出数据的JavaBean对象:
Listing 2. JavaBean元素
package com.strutsrecipes.hibernate.beans;public class Element ...{
private String name;
private String symbol;
private String number;
private String mass;
private int id;
public Element() ...{ super();
} public Element(String name, String symbol, String number, String mass) ...{
this.name = name;
this.symbol = symbol;
this.number = number;
this.mass = mass;
} public int getId() ...{ return id;
} public void setId(int id) ...{ this.id = id;
} public String getMass() ...{ return mass;
} public String getName() ...{ return name;
} public String getNumber() ...{ return number;
} public String getSymbol() ...{ return symbol;
} public void setMass(String mass) ...{ this.mass = mass;
} public void setName(String name) ...{ this.name = name;
} public void setNumber(String number) ...{ this.number = number;
} public void setSymbol(String symbol) ...{ this.symbol = symbol;
}}
Hibernate是一个对象-关系映射工具。它的任务是映射对象到关系型表,反之亦然。所以 ,我们必须告诉Hibernate如何映射列到JavaBean的属性上。这个是通过Element.hbm.xml文 件来完成的。这份文件里面包含的信息用来授予Hibernate从表里面拷贝数据到Elements JavaBean的权利。如果我们使用Hibernate来更新数据,Element.hbm.xml文件里的信息将被 用来解析从Elements JavaBean来的数据来生成更新的SQL语句。列表3显示了 Element.hbm.xml。
Listing 3. Element.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sf.net/hibernate- mapping-2.0.dtd"><hibernate-mapping>
<class name="com.strutsrecipes.hibernate.beans.Element" table="elements">
<id name="id" column="id">
<generator class="native"/>
</id>
<property name="name" column="name"/>
<property name="number" column="number"/>
<property name="mass" column="mass"/>
<property name="symbol" column="symbol"/>
</class></hibernate-mapping>
让我们跳到列表3
我们声明了与elements表相联系的类文件的完整的包名。然后我们声明了表的名字与这个 类相关联。接下来我们声明从Jav |