Hibernate 框架用于与作为Java对象的数据库记录进行交互,反之亦然。
它将java对象保存/更新为数据库记录,将数据库记录获取为java对象等。
Hibernate 使用其Session对象执行数据库交互。会话对象是在SessionFactory的帮助下检索的。
此SessionFactory与特定数据库相关。
因此,为了初始化SessionFactory,需要数据库连接参数,如数据库类型、主机、端口、用户名、密码等。
Hibernate 配置涉及将这些参数提供给应用程序,以便它能够创建SessionFactory。
Hibernate 可以通过以下三种方式进行配置:
使用 XML 文件
使用属性文件
程序化配置
Hibernate 可以使用默认命名为hibernate.cfg.xml的 XML 文件进行配置。
该文件具有各种属性标记,其名称属性引用特定属性,值引用该属性的值。
一个典型的 XML 配置文件如下所示。
<!DOCTYPE hibernate-configuration PUBLIC “-//Hibernate/Hibernate Configuration DTD 3.0//EN” “http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd”>
<hibernate-configuration>
<session -factory> <property name = “show_sql” >true </property> <property name = “connection.driver.class” >com.mysql.jdbc.Driver </property> <property name = “connection.url” >jdbc :mysql://localhost:3306/codippa </property> <property name = “connection.username” >root </property> <属性名称=
“connection.password” >root </property> <property name = “dialect” >org.hibernate.dialect.MySQLDialect </property> </session-factory> </hibernate-configuration>
如上所示使用 XML 文件配置 Hibernate 时,将需要以下代码:
配置cfg =新配置();
cfg。配置(“hibernate.cfg.xml” );
// 建立会话工厂
SessionFactory sessionFactory = cfg. 构建会话工厂() ;
// 获取会话
会话会话 = sessionFactory。获取当前会话();
会议。开始交易();
系统。出来。println ( session.isConnected ( )) ;
// 关闭会话
会议。关闭();
系统。出来。println ( session.isConnected ( )) ;
上面的代码创建一个对象并使用它的方法org.hibernate.cfg.Configuration构建一个。现在,与数据库交互并需要数据库连接参数。org.hibernate.SessionFactorybuildSessionFactory
SessionFactory
这些是从上面创建的表单的配置文件中提供给它的。配置对象使用其方法
加载此文件。一旦创建,它就可以用来创建一个.configure
SessionFactoryorg.hibernate.Session
这是配置 Hibernate 的另一种方法,它是一个简单的属性文件,它是名称-值对的组合。
属性文件的快照如下所示:
hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/codippa
hibernate.connection.username = root
hibernate。连接.密码=根
属性名称是重要的,也就是说,属性的名称不能更改,只能更改它们的值以匹配数据库设置。
使用属性文件连接到数据库所需的代码如下所示。
代码将类路径中的属性文件显式加载到对象中,并通过其方法java.util.Properties将此属性对象提供给 a 。从配置创建的方法保持不变。org.hibernate.cfg.ConfigurationsetProperties
SessionFactory
配置cfg =新配置();
属性 p =新属性() ;
//加载属性文件
页。加载(线程。currentThread ()。getContextClassLoader ()。getResourceAsStream (“hibernate.properties” ));
cfg。设置属性( p ) ;
// 建立会话工厂
SessionFactory 工厂 = cfg。构建会话工厂() ;
// 获取会话
会话会话 = 工厂。打开会话();
系统。出来。println ( session.isConnected ( )) ;
// 关闭会话
会议。关闭();
系统。出来。println ( session.isConnected ( )) ;
这种方法不需要任何外部 XML 或属性文件。
所有必需的配置参数都由代码本身提供。有关此方法的详细信息,请参阅本文。
让我们调整一下:
Hibernate.cfg.xml或Hibernate.properties应该存在于src文件夹或src/main/resources文件夹下。
如果在没有任何参数的情况下调用configure方法,那么 Hibernate默认org.Hibernate.cfg.Configuration会搜索名为hibernate.cfg.xml的文件。
使用属性文件或 xml 文件配置 Hibernate 时,该文件应位于应用程序类路径中。
SessionFactory 负责单个数据库。
如果您的应用程序与许多数据库交互,那么您将需要多个 Session 工厂。
Aorg.hibernate.Session表示单个工作单元,并为每个操作打开和关闭。
SessionFactory 是一个全局对象,应该在应用程序中只初始化一次。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习