零基础学Struts
上QQ阅读APP看书,第一时间看更新

16.2 Hibernate持久层设计

16.2.1 创建持久化PO类

创建持久化类,该类中包含6个属性,分别表示用户ID、用户名、密码、年龄、生日、email地址,并添加属性的setter和getter方法,代码如下所示。

        package net.hncu.po;
        import java.util.Date;
        public class User {
              //用户ID
              private int id;
              //用户名
              private String username;
              //密码
              private String password;
              //年龄
              private int age;
              //生日
              private Date birth;
              //email地址
              private String email;
              //各属性的settergetter方法
              public int getId() {
                    return id;
              }
              public void setId(int id) {
                    this.id = id;
              }
              public String getUsername() {
                    return username;
              }
              public void setUsername(String username) {
                    this.username = username;
              }
              public String getPassword() {
                    return password;
              public void setPassword(String password) {
                    this.password = password;
              }
              public int getAge() {
                    return age;
              }
              public void setAge(int age) {
                    this.age = age;
              }
              public Date getBirth() {
                      return birth;
                }
                public void setBirth(Date birth) {
                      this.birth = birth;
                }
                public String getEmail() {
                      return email;
                }
                public void setEmail(String email) {
                      this.email = email;
                }
          }

16.2.2 创建映射文件

映射文件用来映射持久化类和数据库表,从而将持久化类中的属性和数据库表中的字段关联起来。指定用户ID为主键,主键的生成方式为自动递增,代码如下所示。

        <? 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>
              <! -- 每个class对应一个持久化对象 -->
              <class name="net.hncu.po.User">
                    <! -- id元素用来定义主键标识,并指定主键自动递增 -->
                    <id name="id">
                          <generator class="identity"></generator>
                    </id>
                    <! -- 定义其他属性 -->
                    <property name="username"></property>
                    <property name="password"></property>
                    <property name="age" type="int"></property>
                    <property name="birth" type="date"></property>
                    <property name="email"></property>
              </class>
        </hibernate-mapping>