Hibernate基础框架搭建

Hibernate基础框架搭建


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

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

hibernate下载地址

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

下载后解压

在这里插入图片描述

如果官网下载速度太慢

百度网盘下载链接
提取码: pftg

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

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

访问官网

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

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

第三步,添加包到项目中

在这里插入图片描述

在这里插入图片描述

将这些文件复制到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 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.cfg.xml,这个文件是hibernate配置文件,在后续添加类时都需要在这个类中进行声明映射。添加首行同上。然后在文件中找到同一个文件夹之后在文件夹下面找到hibernate-configuration-3.0.dtd,然后进行添加10~12行后,对数据库进行连接,配置hibernate,添加映射关系配置项。

<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();
        
        //4.通过会话对象完成对数据库的基础操作
        User user = new User();
        user.setUsername("张三");
        user.setAddress("湖北武汉");
        //通过操作实体对象操作数据库
        session.save(user);
        
		//5.关闭会话对象和会话工厂
        session.close();
        sessionfactory.close();
    }
}

上述代码是添加一个实体类对象在数据库中,接下来我们需要将资源关闭,使用**close()**方法即可释放资源。

最后点击注解@Test旁边的绿色三角形开始运行,在idea控制台中会出现一段SQL语句,这与我们刚刚在config中设置的方法密切相关。出现下面的sql语句表明我们基本的框架已经搭建好了,接下来要接触的就是在hibernate中的CRUD(增删改查)。敬请期待……
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值