Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
流程图:
核心接口
Hibernate的核心接口一共有6个,分别为:Session、SessionFactory、Transaction、Query、Criteria和Configuration。这6个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这6个核心接口分别加以介绍。
Session
SessionFactory
Transaction
Query
Criteria
Configuration
hibernate的优点
-
Hibernate会处理映射的Java类来使用XML文件,数据库表和无需编写任何一行代码。
-
提供了简单的API,用于直接从数据库中存储和检索Java对象。
-
如果有变化,数据库或任何表中的那么只需要修改XML文件的属性。
-
抽象掉不熟悉的SQL类型,并提供我们解决熟悉的Java对象。
-
Hibernate不要求应用服务器进行操作。
-
操纵数据库对象的复杂关联。
-
尽量减少与智能读取策略数据库的访问。
-
提供数据的简单查询。
hibernate配置
先下载hibernate所需包,我下载的是hibernate-distribution-3.6.4.Final,解压缩下载的文件,目录结构如下所示。
然后将lib中的包拷贝到项目中即可。
同时也可以使用myeclipse直接加载hibernate框架。
配置文件hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://127.0.0.1:3306/java_web
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="myeclipse.connection.profile">Test</property>
<property name="hbm2ddl.auto">update</property>
<property name="hibernate.connection.autocommit">true</property>
<property name="show_sql">true</property>
<property name="defaultAutoCommit">true</property>
<property name="maxActive">10000</property>
<property name="maxIdle">50</property>
<property name="maxWait">3000</property>
<property name="initialSize">10</property>
<property name="minIdle">20</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
</session-factory>
</hibernate-configuration>