Hibernate的学习——3.hibernate配置讲解

3.hibernate配置讲解

  1. 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">

<hibernate-configuration>
	<session-factory>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql:///hibernate4</property>
		<property name="connection.username">root</property>
		<property name="connection.password">YOUwillrealize55</property>
		<!-- 指定数据库 -->
		<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
		<!-- 打印sql语句 -->
		<property name="show_sql">true</property>
		<!-- 格式化sql语句 -->
		<property name="format_sql">true</property>
		<!-- 映射文件信息 -->
		<mapping resource="www/itheima/bean/User.hbm.xml"/>
	</session-factory>
</hibernate-configuration> 
  1. ***.hbm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
    <!-- package用于指定类型所在的包 如果不指定,那么在指定class的name时,需要指定完全限定名 -->
<hibernate-mapping package="www.itheima.bean">
<!-- 
	class指定类的映射信息
		name指定类名,如果没有指定package需要使用完全限定名
		table指定类对应的数据表的表名,如果不指定默认和类名相同
 -->
	<class name="User" table="t_user">
	<!--主键映射 
		在hibernate中,类对应的表必须要有主键
		name为类属性名
		column是属性名所对应的表字段名称,类型是属性的类型。
		column默认和属性名一致 类型默认和属性的类型一致
	 -->
		<!-- 主键映射 -->
		<id name="id" column="id" type="int">
			<!-- 主键生成策略(za
				increment
					用于long,short或者int类型生成唯一标识。只有在没有其他
					进程往同一张表中插入数据时才能使用。集群下不要使用。
				identity
					对DB2,MySQL..的内置标识字段提供支持,返回的标识是long,short或者int
				sequence
					在DB2,PostgreSQL,Oracle,SAP,DB,McKoi中使用序列(sequence)
					而在Interbase中生成器(generator)。返回的标识符是long,short或者int
				hilo
					使用一个高/低位算法高效的生成long,short或者int
				uuid
					用一个128-bit的UUID算法生成字符串类型的标识符,这在一个网络中是唯一的(使用了IP地址),
					UUID是一个32位的16进制数字的字符串。
				native
					根据底层数据库的能力选择identity,sequence或者hilo中的一个
				assigned
					让应用程序在save()之前为对象分配一个标示符,这是<generator>元素没有指定默认生成策略
			 -->
			<generator class="native"/>
		</id>
		<!-- 指定属性的 映射-->
		<property name="name" column="name" type="java.lang.String"></property>
		<property name="age" column="age" type="int"></property>
	</class>
</hibernate-mapping>

猜你喜欢

转载自blog.csdn.net/qq_38268534/article/details/87909776
今日推荐