04.类与(.hbm.xml)的详解、一张表拆分成两个类、一对一
一、类与(.hbm.xml)的详解
1.类
import java.util.Date;
public class StudentInfo {
private Integer stuId;
private String stuNo;
private String stuName;
private String stuSex;
private Date stuBirthday;
private String phoneNumber;
private Integer classNo;
private String huozhe;
public Integer getStuId() {
return stuId;
}
public void setStuId(Integer stuId) {
this.stuId = stuId;
}
public String getStuNo() {
return stuNo;
}
public void setStuNo(String stuNo) {
this.stuNo = stuNo;
}
public String getStuName() {
return stuName;
}
public void setStuName(String stuName) {
this.stuName = stuName;
}
public String getStuSex() {
return stuSex;
}
public void setStuSex(String stuSex) {
this.stuSex = stuSex;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public Integer getClassNo() {
return classNo;
}
public void setClassNo(Integer classNo) {
this.classNo = classNo;
}
public Date getStuBirthday() {
return stuBirthday;
}
public void setStuBirthday(Date stuBirthday) {
this.stuBirthday = stuBirthday;
}
public String getHuozhe() {
return huozhe;
}
public void setHuozhe(String huozhe) {
this.huozhe = huozhe;
}
public StudentInfo(Integer stuId, String stuNo, String stuName, String stuSex, Date stuBirthday, String phoneNumber,
Integer classNo) {
super();
this.stuId = stuId;
this.stuNo = stuNo;
this.stuName = stuName;
this.stuSex = stuSex;
this.stuBirthday = stuBirthday;
this.phoneNumber = phoneNumber;
this.classNo = classNo;
}
public StudentInfo() {
super();
}
@Override
public String toString() {
return "StudentInfo [stuId=" + stuId + ", stuNo=" + stuNo + ", stuName=" + stuName + ", stuSex=" + stuSex
+ ", stuBirthday=" + stuBirthday + ", phoneNumber=" + phoneNumber + ", classNo=" + classNo + ", huozhe="
+ huozhe + "]";
}
}
2.(.hbm.xml)文件详解
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.zb.entity">
<class name="StudentInfo" table="student_info" dynamic-update="true" dynamic-insert="true" select-before-update="true">
<id name="stuId" column="stu_id">
<generator class="native">
</generator>
</id>
<property name="stuNo" column="stu_no" access="property" unique="true" length="32" index="stu_no"/>
<property name="stuName" column="stu_name" />
<property name="stuSex" column="stu_sex" />
<property name="stuBirthday" column="stu_birthday" type="java.util.Date" />
<property name="phoneNumber" column="phone_number" access="field" unique="true"/>
<property name="classNo" column="class_no" />
<property name="huozhe" type="java.lang.String" formula="(CASE is_life WHEN 1 THEN '活着' WHEN 2 THEN '死了' END)" />
</class>
</hibernate-mapping>
3.Test文件
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.zb.entity.StudentInfo;
public class TestMain {
public static void main(String[] args) {
Session session = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory().openSession();
Transaction t = session.beginTransaction();
StudentInfo stu1 = session.get(StudentInfo.class, 1);
System.out.println(stu1)