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>