Hibernate学习笔记(简介+配置)

数据库语言分类:

下边是实体类的基本配置


<!-- 在实体类所在的目录下创建xml  -->
    <hibernate-mapping package="com.wbs.domain">
	    <class name="Customer" table="cust_customer">
	    	<id name="cusID" column="cust_id">
	    	<!-- generator是主键的生成方式,只能取固定的几种 
	    	native 含义是本地数据库的自增长能力
	    	-->
	    		<generator class="native"></generator>
	    	</id>
	    	<property name="cusname" column="cust_cusname"></property>
	    	<property name="cusSource"  column="cust_cusSource"></property>
	    	<property name="cusIndustry" column="cust_cusIndustry"></property>
	    	<property name="cusLevel" column="cust_cusLevel"></property>
	    	<property name="cusAddress" column="cust_cusAddress"></property>
	    	<property name="cusPhone" column="cust_cusPhone"></property>
	    </class>
</hibernate-mapping>

这是session factory的配置

<hibernate-configuration>
	<!-- 配置session factory
		 	sessionfactory的作用是创建session
		 	session对象就是hibernate操作数据库的核心
		 	1。创建数据库的信息
		 	2.连接数据库的信息
		 	3.hibernate的可选配置
		 	 -->
		 <session-factory>
		 <!--第一部分:数据库的链接配置 -->
		 	<property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
		 	<property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:ORCL</property>
		 	<property name="hibernate.connection.username">system</property>
		 	<property name="hibernate.connection.password">wbs19950305</property>
		 	<property name="hibernate.dialectt">org.hibernate.dialect.Oracle8iDialec</property>
		 	<!-- 第二部分:可选配置 -->
		 	<property name="hibernate.show_sql">true</property><!-- 是否显示hibernate生成的sql语句 -->
		 	<property name="hibernate.format_sql">true</property><!-- 是否使用格式化输出sql语句到控制台 -->
		 	<!-- 配置hibernate使用何种语句生成DDL语句 -->
		 	<property name="hibernate.hbm2ddl.auto">update</property><!-- uopdate表示检测实体类映射配置和表结构是否一致,如果不一致,更新表结构 -->
		 	<!--第三部分:映射配置文件 -->
		 	<mapping resource="com/wbs/domain/Customer.xml"/>
		 </session-factory>
	</hibernate-configuration>

Configuration对象

Configuration cfg=new Configuration();//只是创建,并非加载xml文件

加载文件的方式有3种

1.  cfg.configure();//加载默认位置的名称和配置文件

2.   cfg.addResource("com/wbs/domain/Customer.xml");、、这样加载配置文件也可的

3.   cfg.addClass(Customer.class);

SessionFactory对象

线程安全的

一个应用应该有一个sessionFactory,在应用加载时候创建,在应用卸载时候销毁


Session对象

负责操作数据库

一个线程只能有一个对象


Transaction对象

C3p0连接池的配置

需要在SessionFactory的配置中加入下边这句话:

<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider</property>

这个配置在hibernate.properties这个配置文件中可以找到。

Hibernate一个查询的方法

* hibernate中查询的方法

 * get方法

 *    get(Classclass,Serializable id)

 * load方法

 *    load(Classclass,Serializable id)

 * 共同点:

 * 都是根据ID查询一个实体

 * 区别:

 *    1:查询的时机不一样,

 *    get的时机,每次调用get方法时候,马上发起查询,   立即加载

 *    load查询时机,每次真正使用的时候,发起查询,,延迟加载,懒加载,惰性加载

 *    2:返回的结果不一样

 *    get方法返回的实体类类型

 *    load返回的结果是实体类类型的代理对象

 * load的方法默认是延迟,可以通过修改配置的方式改为立即加载



猜你喜欢

转载自blog.csdn.net/itxiaobaibai/article/details/80038616
今日推荐