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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 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 配置文件中使用。


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

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
60 1
|
18天前
|
Java Maven
maven项目的pom.xml文件常用标签使用介绍
第四届人文,智慧教育与服务管理国际学术会议(HWESM 2025) 2025 4th International Conference on Humanities, Wisdom Education and Service Management
73 8
|
2月前
|
XML JavaScript Java
java与XML文件的读写
java与XML文件的读写
26 3
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
96 0
|
2月前
|
XML 存储 Web App开发
查看 XML 文件
查看 XML 文件
|
7月前
|
SQL 缓存 Java
框架分析(9)-Hibernate
框架分析(9)-Hibernate
|
27天前
|
缓存 Java 数据库连接
Hibernate:Java持久层框架的高效应用
通过上述步骤,可以在Java项目中高效应用Hibernate框架,实现对关系数据库的透明持久化管理。Hibernate提供的强大功能和灵活配置,使得开发者能够专注于业务逻辑的实现,而不必过多关注底层数据库操作。
13 1
|
4月前
|
SQL Java 数据库连接
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。
Hibernate 是一款开源 ORM(对象关系映射)框架,封装了 JDBC,允许以面向对象的方式操作数据库,简化了数据访问层的开发。通过映射机制,它可以自动处理对象与数据库表之间的转换,支持主流数据库,提高了代码的可移植性和可维护性。其核心接口包括 SessionFactory、Session 和 Transaction 等,通过它们可以执行数据库的 CRUD 操作。配置方面,需在项目中引入 Hibernate 及数据库驱动依赖,并创建 `hibernate.cfg.xml` 配置文件来设置数据库连接和 Hibernate 行为参数。
47 1
|
4月前
|
数据库 Java 数据库连接
Struts 2 与 Hibernate 的完美邂逅:如何无缝集成两大框架,轻松玩转高效 CRUD 操作?
【8月更文挑战第31天】本文通过具体示例介绍了如何在 Struts 2 中整合 Hibernate,实现基本的 CRUD 操作。首先创建 Maven 项目并添加相关依赖,接着配置 Hibernate 并定义实体类及其映射文件。然后创建 DAO 接口及实现类处理数据库操作,再通过 Struts 2 的 Action 类处理用户请求。最后配置 `struts.xml` 文件并创建 JSP 页面展示用户列表及编辑表单。此示例展示了如何配置和使用这两个框架,使代码更加模块化和可维护。
103 0
|
5月前
|
SQL Java 数据库连接
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
79 0