hibernate怎么连接数据库?hibernate工作流程是什么?

在java开发的过程中,我们需要使用到java框架,使用框架能够帮助我们更加高效的开发项目,hibernate就是常用的框架之一,它是一个开源免费的、基于 ORM 技术的 Java 持久化框架,那hibernate怎么连接数据库?下面来我们就来给大家讲解一下。

hibernate怎么连接数据库.jpg

连接mysql的配置:

<?xml version='1.0' encoding='utf-8'?>
<!doctype hibernate-configuration public
     "-//hibernate/hibernate configuration dtd 3.0//en"
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
  <session-factory>
    <!-- 配置数据库驱动 -->
    <property name="connection.driver_class">
      com.mysql.jdbc.driver
    </property>
    <!-- 配置数据库连接url -->
    <property name="connection.url">
      jdbc:mysql://localhost:3306/mysqldb
    </property>
    <!-- 数据库user -->
    <property name="connection.username">root</property>
    <!-- 数据库user密码 -->
    <property name="connection.password">admin</property>
    <!-- 配置jdbc内置连接池 -->
    <property name="connection.pool_size">1</property>
    <!-- 配置数据库方言 -->
    <property name="dialect">
      org.hibernate.dialect.mysqldialect
    </property>
    <!-- 输出运行时生成的sql语句 -->
    <property name="show_sql">true</property>
    <!-- 配置对输出的sql语句进行格式化 -->
    <property name="format_sql">true</property>
    <!-- 配置映射文件 -->
    <mapping resource="com/model/user.hbm.xml" />
  </session-factory>
</hibernate-configuration>

hibernate工作流程是什么?

Hibernate 运行时的执行流程如下图。

hibernate怎么连接数据库?hibernate工作流程是什么?.png

由上图可知,Hibernate 工作流程一般分为如下 7 步:

1. Hibernate 启动,Configruation 会读取并加载 Hibernate 核心配置文件和映射文件钟的信息到它实例对象中。

2. 通过 Configuration 对象读取到的配置文件信息,创建一个 SessionFactory 对象,该对象中保存了当前数据库的配置信息、映射关系等信息。

3. 通过 SessionFactory 对象创建一个 Session 实例,建立数据库连接。Session 主要负责执行持久化对象的增、删、改、查操作,创建一个 Session 就相当于创建一个新的数据库连接。

4. 通过 Session 对象创建 Transaction(事务)实例对象,并开启事务。Transaction 用于事务管理,一个 Transaction 对象对应的事务可以包含多个操作。需要注意的是,Hibernate 的事务默认是关闭的,需要手动开启和关闭。

5. Session 接口提供了各种方法,可以对实体类对象进行持久化操作(即对数据库进行操作),例如 get()、load()、save()、update()、saveOrUpdate() 等等,除此之外,Session 对象还可以创建Query 对象 或 NativeQuery 对象,分别使用 HQL 语句或原生 SQL 语句对数据库进行操作。

6. 对实体对象持久化操作完成后,必须提交事务,若程序运行过程中遇到异常,则回滚事务。

7. 关闭 Session 与 SessionFactory,断开与数据库的连接,释放资源。

这就是Hibernate 的工作流程,Hibernate能够将对数据库的操作转换为对Java对象的操作,从而简化开发!最后大家如果想要了解更多java架构师知识,敬请关注奇Q工具网。

推荐阅读:

java技术架构有哪些?Java应用于哪些?

java初学者推荐哪本书?java初学者值得拥有的几本书!

java面试编程题有哪些?java面试编程题