HBM的全称是Hibernate Mapping。它是一个 XML 文件 ,我们在其中定义了 POJO 类到数据库表和 POJO 类变量到表列之间的映射。 资源文件 hibernate.cfg.xml,支持表示Hibernate配置信息。 描述 JDBC 连接信息的 connection.driver_class、connection.URL、connection.username 和 connection.password 属性元素。connection.pool_size 用于配置Hibernate 内置的连接池有多少个连接到池中。 Hibernate XML映射文件,包含Java类与数据库表的映射关系。它通常名为“xx.hbm.xml”,在 Hibernate 配置文件“hibernate.cfg.xml”中表示。
例如,映射文件 (hbm.xml) 在“映射”标签中提到。
<休眠配置>
<会话工厂>
<property name="hibernate.bytecode.use_reflection_optimizer">假</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">密码</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/demo</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">真</property>
<mapping resource="com/demo/common/HiberDemo.hbm.xml"></mapping>
</会话工厂>
</休眠配置>
以编程方式添加 Hibernates 映射文件 (hbm.xml):
Hibernate 为开发人员提供了一种从技术上添加映射文件的方法。
让我们通过将“ hbm.xml ”文件路径作为参数传递给 addResource() 方法来修改默认的 Hibernate SessionFactory 类:
SessionFactory sessionFactory = new Configuration().addResource(“com/demo/commonStock.hbm.xml”).buildSessionFactor();
HibernateUtil.java 示例,以编程方式加载 Hibernate XML 映射文件 demo.hbm.xml”:
导入 org.hibernate.SessionFactory;
导入 org.hibernate.cfg.Configuration;
公共类 HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
私有静态 SessionFactory buildSessionFactory() {
尝试 {
会话工厂 sessionFactory = new Configuration()
.configure("/com/demo/persistence/hibernate.cfg.xml")
.addResource("com/demo/common/Stock.hbm.xml")
.buildSessionFactory();
返回会话工厂;
} 抓住(可抛出的 e){
System.err.println("初始 SessionFactory 创建失败。" + e);
抛出新的 ExceptionInInitializerError(e);
}
}
有两个属性元素声明了 Event 类的其余两个属性:即日期和标题。
日期属性映射包括列属性,但标题没有。当没有列属性时,Hibernate 使用属性名作为列名。这适用于标题,但由于日期是大多数数据库中的保留关键字。
公共静态 SessionFactory getSessionFactory() {
返回会话工厂;
}
公共静态无效关闭(){
// 关闭缓存和连接池
getSessionFactory().close();
}
}
hibernate 中有两种映射方式——第一种是使用 hibernate 注释,第二种是使用 hbm.xml。
当我们使用 hbm.xml 时,只需修改 hibernate-cfg.xml 中的默认 hibernate SessionFactory 类,绕过您的“hbm.xml”文件路径作为资源方法的参数。
示例: 这里,我们以员工表为例。
Employee.hbm.xml 文件是您的 hbm.xml 文件,其中映射了表列及其类型。
员工.hbm.xml
<休眠映射>
<class name="net.roseindia.table.Employee" table="employee">
<id name="empId" type="int" column="emp_id">
<generator class="native" />
</id>
<property name="EmpName" type="string" column="emp_name" />
<property name="salary" type="int" column="emp_salary" />
<property name="designation" type="string" column="designation" />
<property name="address" type="string" column="address" />
</类>
</休眠映射>
hibernate-cfg.xml 是你映射hbm.xml的hibernate的配置文件
<休眠配置>
<会话工厂>
<!-- 数据库连接设置 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<!-- JDBC连接池(使用内置)-->
<property name="connection.pool_size">1</property>
<!-- SQL 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 启用 Hibernate 的自动会话上下文管理 -->
<property name="current_sesion_context_class">线程</property>
<!-- 禁用二级缓存 -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<!-- 将所有执行的 SQL 回显到标准输出 -->
<property name="show_sql">真</property>
<property name="hbm2ddl.auto">无</property>
<mapping resource="Employee.hbm.xml"/>
</会话工厂>
</休眠配置>
通过上述介绍,相信大家对Hibernate配置文件的方法已经有所了解,大家如果想了解更多相关知识,不妨来关注一下本站的Hibernate入门视频,里面的课程内容细致全面,由浅到深,适合没有基础的小伙伴学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习