hibernate环境搭建

1、导包:

hibernate环境搭建

 (1)required文件夹下的jar包都需要导入:

hibernate环境搭建

 (2)mysql驱动包:

hibernate环境搭建

 (3)jpa目录下的jar包:

hibernate环境搭建

(4)日志jar包:

hibernate环境搭建

因为hibernate在使用的时候会有日志信息的输出,而hibernate本身没有日志输出的功能,因此要导入jar包。

2、创建实体类

package pers.zhb.domain;
public class Student {
    private String studentno;
    private String sname;
    private String sex;
    private String birthday;
    private String classno;
    private float point;
    private String phone;
    private String email;

    @Override
    public String toString() {
        return "Student{" +
                "studentno=‘" + studentno + ‘\‘‘ +
                ", sname=‘" + sname + ‘\‘‘ +
                ", sex=‘" + sex + ‘\‘‘ +
                ", birthday=‘" + birthday + ‘\‘‘ +
                ", classno=‘" + classno + ‘\‘‘ +
                ", point=" + point +
                ", phone=‘" + phone + ‘\‘‘ +
                ", email=‘" + email + ‘\‘‘ +
                ‘}‘;
    }

    public String getStudentno() {
        return studentno;
    }

    public void setStudentno(String studentno) {
        this.studentno = studentno;
    }

    public String getSname() {
        return sname;
    }

    public void setSname(String sname) {
        this.sname = sname;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getClassno() {
        return classno;
    }

    public void setClassno(String classno) {
        this.classno = classno;
    }

    public float getPoint() {
        return point;
    }

    public void setPoint(float point) {
        this.point = point;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

在创建类的时候一定要注意:要创建一个类似于表的主键的属性,用于唯一标识一个实体。

3、通过配置文件实现实体类和数据库表的对应关系(表对应,实体属性与表的字段)

(1)引入dtd约束(https://www.cnblogs.com/zhai1997/p/11439664.html):

hibernate环境搭建

 在上面的文件中复制如下约束:

<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

创建xml文件,在实体类对应的包里面创建,文件名:hbm.xml(不是固定的)。

(2)创建实体类与表的对应关系:

<?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>
    <class name="pers.zhb.domain.Student" table="student">
        <id name="studentno" column="studentno">
        <generator class="native"></generator>
        </id>
        <property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>
    </class>
</hibernate-mapping>

(1)配置类和表对应:

<class name="pers.zhb.domain.Student" table="student">

其中类为全路径,表为表的名字。

(2)实体类中的保持唯一的属性和表的主键保持对应:

<id name="studentno" column="studentno">
        <generator class="native"></generator>
        </id>

设置主键为自动增长,name为实体类属性的名字,column为表的字段名称。

(3)设置其他属性实体类属性与表的字段的对应关系:

<property name="birthday" column="birthday"></property>
        <property name="classno" column="classno"></property>
        <property name="email" column="email"></property>
        <property name="phone" column="phone"></property>
        <property name="sex" column="sex"></property>
        <property name="sname" column="sname"></property>
        <property name="point" column="point"></property>

 4、核心配置文件:

(1)位置(src目录下)和名称(hibernate.cfg.xml)固定。

(2)引入约束:

hibernate环境搭建

<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

(3)hibernate在执行过程中,只会加载核心配置文件,其它文件不会被加载。