暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Hibernate之创建基础

超人网页作坊 2019-09-19
630

Hibernate

—创建数据库及数据

省事省力数据库

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装。


接这上一篇hibernate的配置文件后,我们来记录一下hibernate的数据库的创建与java类中的属性之间的关系!

首先我们需要先在orcl中建立一个数据库

注意看下面的文件夹结构!

然后我们来通过hibernate来建立一张表t_teacher


01

首先创建一个xml文件:Teacher.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">

//这里pageage是entity中表的对应路径

<hibernate-mapping package="seccens.entity">

//这里是指类Teacher  代表t_teacher表(在seccens.entity里必须有对应的类)

    <class name = "Teacher" table="t_teacher">

//这里的ID指的是主键,后面的name指的是类中的属性,然后column指向并创建数据库中的一个字段

即用属性来代表字段

        <id name="teacherId" column="teacher_id"></id>

        <property name="teacherName" column="teacher_name"></property>

        <property name="clazzId" column="clazz_id"></property>

        <property name="birthday" column="birthday"/>


    </class>

</hibernate-mapping>


复制
02

其次创建一个xml文件:Teacher.hbm.xml

复制

Clazz.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">

//这里pageage是entity中表的对应路径

<hibernate-mapping package="seccens.entity">

    <class name = "Clazz" table="t_clazz">

        <id name="clazzId" column="clazz_id"></id>

        <property name="clazzName" column="clazz_name"></property>

        <property name="aa" column="clazz_aa"></property>


    </class>

</hibernate-mapping>



这里创建了两个xml,下面以Teacher为例看一下对应关系:

通过相应的类中的属性和方法要写引用类型,要添加get,set方法和可以赋值构造函数

这样可以通过赋值,执行sql语句

eg:package seccens.entity;


import java.util.Date;


/**

 * @Author 鞠志超

 * @Date 2019/9/18 16:08

 * @Description

 */

public class Teacher {

    private Integer teacherId;

    private String teacherName;

    private Integer clazzId;

    private Date birthday;


    public Integer getTeacherId() {

        return teacherId;

    }


    public void setTeacherId(Integer teacherId) {

        this.teacherId = teacherId;

    }


    public String getTeacherName() {

        return teacherName;

    }


    public void setTeacherName(String teacherName) {

        this.teacherName = teacherName;

    }


    public Integer getClazzId() {

        return clazzId;

    }


    @Override

    public String toString() {

        return "Teacher{" +

                "teacherId=" + teacherId +

                ", teacherName='" + teacherName + '\'' +

                ", clazzId=" + clazzId +

                ", birthday=" + birthday +

                '}';

    }

    public Teacher() {

    }


    public Teacher(Integer teacherId, String teacherName, Integer clazzId, Date birthday) {

        this.teacherId = teacherId;

        this.teacherName = teacherName;

        this.clazzId = clazzId;

        this.birthday = birthday;

    }




    public void setClazzId(Integer clazzId) {

        this.clazzId = clazzId;

    }


    public Date getBirthday() {

        return birthday;

    }


    public void setBirthday(Date birthday) {

        this.birthday = birthday;

    }

}


通过上述的类和配置文件,走APP中的测试方法,即可搞定一张表:

public class App
{
   public static void main( String[] args )
   {
       //加载hibernate配置文件
       
SessionFactory sessionFactory= new Configuration().configure().buildSessionFactory();
       //创建hibernate的session工厂
       //得到session(连接)

       Session session = sessionFactory.openSession();

session.close();

//关闭session

    }

}

复制



下一章则开始介绍如何使用hibernate实现增删改查功能!






文章转载自超人网页作坊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论