Hibernate中hibernate.cfg.xml文件和Xxx.hbm.xml文件的详细解释(二)下

简介: Hibernate中hibernate.cfg.xml文件和Xxx.hbm.xml文件的详细解释(二)

二. Java与数据库的type类型转换


常见有,int,float,long,string,date等。


约束关系如下:

20200615095913894.png

详细可以参考: https://www.cnblogs.com/bluepoint2009/p/database-datatype-java.html


三. hibernate.cfg.xml约束文件


三.一 相应约束


<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">


三.二 根节点 hibernate-configuration


根节点只有一个,hibernate-configuration, Hibernate的配置。 configuration. 没有任何子属性。


<hibernate-configuration>
</hibernate-configuration>


三.三 session-factory节点


hibernate-configuration中里面有一个security 节点,表示安全。 一般不用。 里面有一个常见的session-factory. 表示session工厂,里面有一个字段,name,表示名称。 一般name也不写出来。


<session-factory>
</session-factory>


session-factory中有三种类型的配置,一种是关于数据库信息的配置,第二种是关于Hibernate信息的配置,第三种是将映射文件引入到核心配置文件中的配置


三.四 数据库信息的配置


主要配置数据库的driverClass,url,username和password。 前缀hibernate表示确切一下,指的只是Hibernate. 当Hibernate与Spring进行整合时,Spring也可以整合其它的数据库如MyBatis, 用Hibernate表示确切,让开发者能够迅速明白,这是整合Hibernate的。 建议带上。 为connection.driver_class, connection.url, connection.username,connection.password


<!-- 关于数据库的相应配置 -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate?characterEncoding=utf8</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">abc123</property>


三.五 Hibernate信息的配置


关于数据库方言的配置,如果是MySQL数据库,dialect,统一用MySQL5Dialect


<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>


关于是否显示sql语句的配置 为true或者false, hibernate.show_sql


<property name="hibernate.show_sql">true</property>


关于是否格式化显示sql语句的配置 hibernate. format_sql


<property name="hibernate.format_sql">true</property>


关于是否自动创建表的配置(必须添加) hbm2ddl.auto 用Update


<property name="hibernate.hbm2ddl.auto">update</property>


常见的值有update和create. 用update,表示没有添加,有则更新。 create每次都先删除,后创建,即重新创建。


这些配置值都不是瞎写的,均是在hibernate.properties文件中。


其中常见的配置如下:


20200615095929934.png


三.六 引入C3PO连接池


Hibernate也可以与C3PO连接池进行相应的整合,在hibernate-release-5.2.17.Final\lib\optional\c3p0 路径下,找到


20200615095945192.png


将其添加到项目工程中。


在hibernate.cfg.xml文件中继续添加关于C3p0的配置:


<!-- 添加C3P0的相应配置 -->
        <property  name="hibernate.connection.provider_class">
            org.hibernate.connection.C3P0ConnectionProvider
        </property>
        <property name="hibernate.c3p0.max_size">20</property>
        <property name="hibernate.c3p0.min_size">5</property>
        <property name="hibernate.c3p0.timeout">120</property>
        <property name="c3p0.idle_test_period">120</property>


重启进行测试,将log4j2.xml中的级别改成info级别。


20200615095957994.png


表示C3P0连接池正常使用。


三.七 引入映射文件


只有将映射文件引入到核心配置文件中,核心配置文件才会调用映射文件,然后将映射文件User.hibernate.xml中的内容进行相应的解析,才会将类转换成相应的数据库表。 如果没有自动生成表,看一看是否是因为没有将映射文件放入到核心配置文件中。


单个资源引入: ctrl+鼠标点击时可以正确的跳转。


用了一下class和package,发现并没有自动生成表.


<mapping class="com.yjl.pojo.User"/> <!--没有自动生成-->
<mapping package="com.yjl.pojo"/> <!--没有自动生成-->


20200615100009393.png


class 和 package 在注解时使用, 不能在 xml 配置文件中使用。


谢谢您的观看,如果喜欢,请关注我,再次感谢 !!!

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
400 1
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
401 2
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
1359 8
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
259 3
|
SQL 缓存 Java
框架分析(9)-Hibernate
框架分析(9)-Hibernate
|
SQL XML 存储
Hibernate框架【五】——基本映射——多对多映射
Hibernate框架【五】——基本映射——多对多映射
426 0
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
334 1
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
387 1
|
数据库 Java 数据库连接
Struts 2 与 Hibernate 的完美邂逅:如何无缝集成两大框架,轻松玩转高效 CRUD 操作?
【8月更文挑战第31天】本文通过具体示例介绍了如何在 Struts 2 中整合 Hibernate,实现基本的 CRUD 操作。首先创建 Maven 项目并添加相关依赖,接着配置 Hibernate 并定义实体类及其映射文件。然后创建 DAO 接口及实现类处理数据库操作,再通过 Struts 2 的 Action 类处理用户请求。最后配置 `struts.xml` 文件并创建 JSP 页面展示用户列表及编辑表单。此示例展示了如何配置和使用这两个框架,使代码更加模块化和可维护。
602 0

相关课程

更多