Hibernate基础框架搭建

时间:2022-11-06 01:17:04

Hibernate基础框架搭建


hibernate是java与数据库相互连接的对象映射框架,在之前都是使用JDBC来操作数据库的,现在出现了hibernate,使得程序猿更加方便操作数据库中的内容,因为hibernate可以自动生成sql语句,不需要程序员进行输入,接下来让我们在idea中创建一个hibnate项目。

第一步,在hibernate官网下载相应的jar包。

Hibernate基础框架搭建

Hibernate基础框架搭建

点击后下滑,在这里随机选择一个版本下载即可

Hibernate基础框架搭建

下载后解压

Hibernate基础框架搭建

如果官网下载速度太慢

里面包含了需要连接数据库的jar包

第二步,介绍下载mysql相关jar包

Hibernate基础框架搭建

Hibernate基础框架搭建

Hibernate基础框架搭建

以上是所有需要hibernate的jar包,接下来我们在idea中新建一个普通项目,然后新建一个源文件目录,将需要下载的jar包添加到目录下,下面是需要添加的jar包。

第三步,添加包到项目中

Hibernate基础框架搭建

Hibernate基础框架搭建

将这些文件复制到lib目录下,ADD as library

Hibernate基础框架搭建

框架搭建示例

基本的包已经导入完成,接下来我们在建立目录,用于存储测试Test项,类(pojo),配置项(config),接下来我们在配置项添加一个类,这里我简单的添加一个用户类,基本元素有,id,我们以id作为hibernate的唯一属性值,相当于数据库主键的存在后面是类的基本属性username,address,然后设置gets和sets方法。

public class User {
//    hibernate要求实体类中要有唯一属性
    private  int uid;
    private  String username;
    private  String address;

    public int getUid() {
        return uid;
    }

    public void setUid(int uid) {
        this.uid = uid;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

在pojo文件中创建一个以xml后缀的文件,这里可能找不到以xml结尾的文件,我们可以先创建一个FXML文件,然后修改其后缀即可。

文件第一行必须是以下内容:

<?xml version="1.0" encoding="utf-8" ?>

如果是其他内容,请删除后添加,然后在刚刚添加的jar包中找到hibernate-core-x.x.x.final.jar(x代表的是数字,下载版本不同可能数字不同,所有这里我用x代替),在第二个文件夹下找到hibernate-mapping-3.0.dtd,把该文件的10~12行复制到刚刚的文件中,接下来开始添加你需要在数据库中建立的表格的信息。文件中的信息和你创建的类相关。

<hibernate-mapping>
    <!--配置实体类对象和关系型数据库表之间的映射关系
        name:实体类全路径名
        table:与实体类相映射的数据库表名
    -->
    <class name="com.hbnu.pojo.User" table="tb_user">
        <!-- 主键映射关系配置
          name:实体类中唯一属性名称
          column:数据库表中的主键名称 column属性可以省略,如果column属性省略,
          则自动生成的数据库表字段名和实体类中的属性名一致
        -->
        <id name="uid" column="id">
        <!-- 主键生成策略  -->
            <generator class="native"></generator>
        </id>

        <!--  其他属性映射配置-->
        <property name="username" column="name"/>
        <property name="address" column="addr"></property>
    </class>
</hibernate-mapping>

先创建一个同上找到同一个文件夹在文件夹下面找到hibernate-configuration-3.0.dtd,然后进行添加10~12行在第一行下。再连接数据库中项目

<hibernate-configuration>
    <session-factory>
        <!-- 1、数据库配置信息 (必需)-->
        
        <property name="hibernate.connection.driver_class" >com.mysql.cj.jdbc.Driver</property>
        配置数据库连接,在//localhost:3306/数据库名
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/数据库名?serverTimezone=GMT&amp;useSSL=false&amp;characterEncoding=utf-8</property>
        <property name="hibernate.connection.username">root</property>
        <!--这里是数据库密码--!>
        <property name="hibernate.connection.password">******</property>

        <!-- 2、hibernate配置信息 (非必需)-->
        <!-- 2.1,查看hibernate底层生成的sql语句-->
        <property name="show_sql">true</property>

        <!--2.格式化底层的sql语句-->
        <property name="format_sql">true</property>

        <!--2.3数据库方言-->
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

        <!--2.4配置hibernate自动创建表格,如果数据库表格存在,则更新-->
        <property name="hibernate.hbm2ddl.auto">update</property>

        <!-- 3、映射关系配置文件信息 (必需)-->
        <mapping resource="com/hbnu/config/user.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

接下来我们就开始测试连接数据库,在此之前,我们需要打开本机数据库,然后在其中建立一个数据库,数据库名与代码中一致,如果已经创建,请忽略。

接下来我们在Test文件夹中添加class文件测试创建表。

这里我添加了一个方法连接数据库,创建表之前需要连接数据库,连接数据库有5步:

1.加载并解析hibernate配置文件

2.通过配置文件构建会话工厂

3.通过会话工厂建立会话对象

4.通过会话对象完成对数据库的基础操作

5.关闭会话对象和会话工厂

hibernate的Configuration类是加载的核心,创建一个Configuration对象,引用该对象构建SessionFactory (会话工厂),然后利用会话工厂创建Session对象。大家也可以通过文字来尝试创建。

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class HibernateTest {
    //这个表明是测试,遇到报错,一路下滑即可
	@Test
    public void insertData(){
        //1.解析hibernate配置文件
        Configuration configuration = new Configuration().configure();
        //2.通过配置对象构建会话工厂
        SessionFactory sessionFactory = configuration.buildSessionFactory();
        //3.通过会话工厂创建会话对象
        Session session = sessionFactory.openSession();
    }
}

接下来我们需要使用session把内容添加表中,这也离不开我们的类中的属性。

User user = new User();
user.setUsername("张三");
user.setAddress("湖北武汉");
session.save(user);//通过操作实体对象操作数据库

已经操作完毕,接下来我们只需要将资源关闭即可,使用**close()**方法即可释放资源。

最后在运行,在idea中会出现一段SQL语句,表明我们基本的框架已经搭建好了,接下来要接触的就是在hibernate中的CRUD(增删改查).

Hibernate基础框架搭建