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

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


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


约束关系如下:

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

详细可以参考: 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文件中。


其中常见的配置如下:


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


三.六 引入C3PO连接池


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


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


将其添加到项目工程中。


在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级别。


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


表示C3P0连接池正常使用。


三.七 引入映射文件


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


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


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



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

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


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


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


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

上一篇:H3C S5500上层接路由,VLAN IP作网站配置实例


下一篇:如何通过linux ssh远程linux不用输入密码登入