hibernate 是一个非常优秀的持久化框架,负责简化将对象数据保存到数据库中,从数据库中读取数据并封装到对象的工作。通过简单配置和编码即可代替JDBC繁琐的程序代码。Hibernate处理数据库操作的方式代表了当前的趋势。
接下来我们一步步的搭建一个属于自己的Hibernate框架。基于Myeclipse以及oracle数据库。本文适合新手,比较详细。有任何问题可以添加QQ:1522648649讨论。
一:新建工程
二:导入数据库架包。(oracle数据库)
二:关联数据库与IDE。
出现如下窗口:右击左侧空白处,选择新建,跳出如下窗口,并按图填写内容。
Connection URL: jdbc:oracle:thin:@127.0.0.1:1521:orcl
三:配置hibernate文件
步骤一:添加hibernate支持(包含配置文件 .jar包)
使用hibernate要先下载相关源码并配置它,可以从官方网站下载hibernate框架的jar包,这里以3.3.2版本的hibernate为例,首先下载hibernate-distribution-3.3.2.GA-dist.zip文件
使用Myeclipse不需要自己下载此插件.选择下图选项
按下图配置相关参数;
步骤二:编写持久化类和映射文件
持久化类可以使用普通的Java对象,习惯上叫做POJO(plain Old Java Objects,中文叫做简单的普通Java对象),POJO 很像 JavaBean,里面除了javabean规范的方法和属性外,没有其他内容,只用于装载数据。此处对数据库中的Emp表进行操作。文件内容点击 查看。
当创建完POJO后,接下来需要添加一个对象和关系数据库表的映射文件。注意该映射文件通常以 *.hbm.xml格式结尾,hibernate会拦截这种格式的配置文件。
Emp.hbm.xml
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 映射文件:建立pojo与数据库的映射关系 -->
<hibernate-mapping>
<!-- class: 建立pojo与数据库的映射,name:表示pojo的全限定名 table:数据库表名-->
<class name="come.bean.Emp" table="emp">
<!-- id:用于建立pojo中的属性和表中主键的映射 -->
<id name="empno" type="java.lang.Integer">
<column name="empno"></column>
<!-- 为主键的值指定生成策略 ,此处使用序列完成对属性的赋值-->
<!-- <generator class="sequence"> -->
<!-- <param name="sequence">SEQ_EMP</param> -->
<!--</generator> -->
<generator class="assigned"></generator>
</id>
<!-- property:用于建立pojo中的属性和表中非主键的映射 -->
<property name="ename" type="java.lang.String">
<column name="ename">
<!-- 备注 -->
<comment></comment>
</column>
</property>
<property name="job" type="java.lang.String">
<column name="job">
<!-- 备注 -->
<comment></comment>
</column>
</property>
<property name="mgr" type="java.lang.Integer">
<column name="mgr">
<!-- 备注 -->
<comment></comment>
</column>
</property>
<property name="hiredate" type="java.sql.Date">
<column name="hiredate">
<!-- 备注 -->
<comment></comment>
</column>
</property>
<property name="sal" type="java.lang.Integer">
<column name="sal">
<!-- 备注 -->
<comment></comment>
</column>
</property>
<property name="comm" type="java.lang.Integer">
<column name="comm">
<!-- 备注 -->
<comment></comment>
</column>
</property>
</class>
</hibernate-mapping>
步骤三:将映射文件添加到hibernate的主配置文件中,以便hibernate框架在运行期间可以查找该映射文件及关联的实体类
<!-- 使用getCurrentSession ,作用:将打开的session绑定到当前线程,一旦事务提交,自动关闭session-->
<property name="current_session_context_class">thread</property>
<!-- 添加映射文件 -->
<mapping resource="com/mapping/Emp.hbm.xml"/>
步骤四:hibernate数据的持久化
持久化操作是hibernate的核心,通过利用hibernate框架实现基本的数据库的增删改查的操纵。
hibernate中几个常用的概念:
1、Session对象(org.hibernate.Session):是hibernate中数据库持久化操作的核心,它负责hibernate的所有持久化操作,
通过它开发人员可以实现数据库基本的增删改查等操作;其作用就是维护着用户的本次操作中需要产生的当前数据库连接、相关事务
操作等,代表着用户的一次操作;注意:这里的session对象不是以前学习的jsp中的内置对象,这个Session是hibernate3.jar包中的
Session对象。
2、SessionFactory ( org .hibernate.SessionFactory):一个线程
安全的Session工厂类,能够为不同的线程生成不同的Session,SessionFactory维护着Session的相关资源,包括数据库连
接池、缓存数据等。
3、Transaction(org.hibernate.Transaction): Transaction 代表一次事务,事务内包含了若干数据修改,事务提交后才生效
。如果事务失败或者回滚,所有的修改都会失效。
相关例程点击下载:点击打开链接
使用Hibernate操作数据库需要七个步骤:点击打开链接