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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 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 配置文件中使用。


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

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
13天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
13 0
|
15天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
30天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
hibernate正向生成数据库表以及配置——Teacher.hbm.xml
13 1
|
1月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
1天前
|
XML 数据格式
小米备份descript.xml文件
小米备份descript.xml文件
7 0
|
5天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
13 1
|
30天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1
|
30天前
|
Java 数据库连接
Hibernate中使用Criteria查询及注解——(Emp.hbm.xml)
Hibernate中使用Criteria查询及注解——(Emp.hbm.xml)
11 2
|
1月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
9 0
|
1月前
|
Kubernetes Cloud Native Java
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
39 1