(三)Hibernate配置文件详解

匿名 (未验证) 提交于 2019-12-03 00:27:02

        在整个Hibernate编写的过程之中会生成一些文件并且也使用到了一些新的处理类.

配置文件说明

        在整个Hibernate里面最为核心的两种配置文件:

        ●Hibernate总配置文件:hibernate.cfg.xml;

        ●每一张实体表的配置文件:POJO类名称.hbm.xml(Member.hbm.xml)

1.Hibernate映射文件(*.hbm.xml)

Hibernate是一个ORMping映射框架,那么所谓的ORMpring指的是对象与数据表的操作进行关联,当前操作的是一张member表,那么自然简单Java类的名称就应该是Member,而后每一个Member类的组成一定要与数据表结构一一对应,而描述这个对应操作的就是Member.hbm.xml.


范例:观察Member.hbm.xml文件的定义

<?xml version="1.0" encoding="utf-8"?> 	<!-- 定义的是XML文件的文档结构,必须按照指定的顺序与名称编写文件 --> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <!--      Mapping file autogenerated by MyEclipse Persistence Tools --> <hibernate-mapping> 		<!-- 定义简单Java类的完整名称,通过反射加载 --> 		<!-- 每一个映射文件都要求有一个与之对应的POJO类存在,此文件 的作用就是描述POJO类的数据表的字段映射-->     	<!--name描述的是POJO类,而table属性描述的是这个类对应的数据表  -->     	<!-- catalog表示的是操作的模式名称(数据库名称),一般 省略-->     <class name="cn.zwb.pojo.Member" table="member" catalog="aaa">         	<!-- 每一张实体表都一定会包含有一个主键的列,所以此处描述主键列 -->         	<!-- name描述的是在POJO类中的属性名称 ,type描述的是POJO类属性的类型-->         <id name="mid" type="java.lang.String">             <!-- 此POJO类的属性与数据表中的列的对应关系 -->             <!-- name表示列名称,而length表示的是name列在表中定义的长度 -->             <column name="mid" length="50" />           	<!-- 表示主键的生成方式,本次使用的是指派模式 -->             <generator class="assigned"></generator>         </id>         	<!-- 后面ing一的都是类中的属性以及表中的非主键字段的映射关系 -->         	<!-- 此处描述的是映射name类以及name数据列的关系 -->         <property name="name" type="java.lang.String">             <column name="name" length="50" />         </property>         <property name="age" type="java.lang.Integer">             <column name="age" />         </property>         <property name="salary" type="java.lang.Double">             <column name="salary" precision="22" scale="0" />         </property>         <property name="birthday" type="java.lang.Double">             <column name="birthday" precision="22" scale="0" />         </property>         <property name="node" type="java.lang.String">             <column name="node" length="65535" />         </property>     </class> </hibernate-mapping>

        在Hiberate之中针对于主键的生成方式有如下几种:

        ●主键由自己输入:assigned;

        ●如果主键是由数据表自动增长的列,使用:navite;

        ●如果要想生成一个无重复的十六进制的字符串.uuid.hex

2.Hibernate的核心配置文件:hibernate.cfg,xml(只有一个);

        ●一个hibernate.cfg.xml文件里面可以包含有多个"*.hbm"文件

范例:hibernate.cfg.xml文件

<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"           "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <!-- Generated by MyEclipse Hibernate Tools.                   --> <!-- 此处表示进行Hibernate的配置操作,所有的配置通过Configuration类取得 --> <hibernate-configuration> 	<!-- 定义Hibernate的连接工厂类,主要负责数据库连接的取得 -->	 	<session-factory> 		<!-- 此操作的主要意义在于MyEclipse配置使用,开发无用 --> 		<property name="myeclipse.connection.profile">mysql</property> 		<!-- 数据库的连接方言,如果要修改使用数据库,修改方言即可 --> 		<property name="dialect"> 			org.hibernate.dialect.MySQLDialect 		</property> 		<!-- 数据库连接的用户名 --> 		<property name="connection.password">123456</property> 		<!-- 连接数据的密码 --> 		<property name="connection.username">root</property> 			<!-- 数据库的连接地址 --> 		<property name="connection.url"> 			jdbc:mysql://localhost:3306/aaa 		</property> 		<!-- 数据库的连接驱动程序 --> 		<property name="connection.driver_class"> 			com.mysql.jdbc.Driver 		</property> 		<!-- 配置所有的*.hbm.xml文件的路径 --> 		<mapping resource="cn/zwb/pojo/Member.hbm.xml" /> 	</session-factory> </hibernate-configuration>

        在实际的开发环境之中,还需要针对于hibernate文件进行一些修改,假设

        ●设置显示执行的SQL语句;


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

        ●格式化显示SQL语句


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

        此时会以缩进的形式显示当前执行的SQL语句.



转载请标明出处:(三)Hibernate配置文件详解
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!