hibernate
是对
jdbc
进行轻量级封装的
orm
框架,充当项目的持久层
.
hiberante
可以用在
j2se
项目,也可以用在
j2ee
(web
项目中
)
struts
是
web
框架
,
所以用在
web
项目
创建
employe
表
.
create table employee(
id number primary key,
name varchar2(64) not null,
email varchar2(64) not null,
hiredate date not null)
创建一个序列,将来用于主键的自增长
:
--
创建一个序列
create sequence emp_seq
start with 1
increment by 1
minvalue 1
nomaxvalue
nocycle
nocache
domain对象:
package com.sina.domain;
import java.io.Serializable;
//这是一个domain对象(实际上就是javabean/有些人叫pojo)
//他和Employee对应
public class Employee implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String email;
private java.util.Date hiredate;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public java.util.Date getHiredate() {
return hiredate;
}
public void setHiredate(java.util.Date hiredate) {
this.hiredate = hiredate;
}
}
Employee.hbml.xml
配置文件
:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate
Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping
package="com.sina.domain">
<class
name="Employee" table="employee">
<!--
id
元素用于指定主键属性
-->
<id
name="id" column="id"
type="java.lang.Integer">
<!--
该元素用于指定主键值生成策略
hilo
native increment sequence uuid -->
<generator
class="sequence">
<param
name="sequence">emp_seq</param>
</generator>
</id>
<!--
对其它属性还有配置
-->
<property
name="name" type="java.lang.String">
<column
name="name" not-null="false"
/>
</property>
<property
name="email" type="java.lang.String" >
<column
name="email" not-null="false"/>
</property>
<property
name="hiredate" type="java.util.Date">
<column
name="hiredate" not-null="false" />
</property>
</class>
</hibernate-mapping>
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">
<hibernate-configuration>
<session-factory>
<!--
hibernate
设计者,给我们提供了一写常用的配置
-->
<!--
配置使用的
driver
-->
<property
name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property
name="connection.username">scott</property>
<property
name="connection.password">tiger</property>
<property
name="connection.url">jdbc:oracle:thin:@127.0.0.1:1521:sina</property>
<!--
配置
dialect
方言
,
明确告诉
hibernate
连接是哪种数据库
-->
<property
name="dialect">org.hibernate.dialect.OracleDialect</property>
<!--
显示出对于
sql -->
<property
name="show_sql">true</property>
<!--
指定管理的对象映射文件
-->
<mapping
resource="com/sina/domain/Employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
测试类:
package com.sina.view;
import java.sql.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.sina.domain.Employee;
public class TestMain {
/**
* @param args
*/
public static void main(String[] args) {
//添加一个雇员
//1.得到Configuration
Configuration configuration= new Configuration().configure();
//2.得到SessionFactory(会话工厂,这是一个重量级的类,因此要保证在一个应用程序中只能有一个)
SessionFactory sessionFactory=configuration.buildSessionFactory();
//3. 从SessionFactory中取出一个Session对象(它表示 和数据库的出一次会话)
Session session=sessionFactory.openSession();
//4. 开始一个事务
Transaction transaction = session.beginTransaction();
//保存一个对象到数据库(持久化一个对象)
Employee emp=new Employee();
emp.setEmail("kk@sohu.com");
emp.setHiredate(new java.util.Date());
emp.setName("sina");
//不要给id,因为它是自增的
session.save(emp);//insert into employee (name,id,...) value(?,?,?)
transaction.commit();
}
}
分享到:
相关推荐
《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...
这些资料构成了一套完整的Hibernate学习路径,从基础到高级,从配置到实践,对于理解Hibernate的核心机制和提升开发技能都非常有帮助。通过阅读和研究这些内容,开发者可以更熟练地运用Hibernate进行数据库操作,...
### Hibernate学习总结 #### 环境配置与搭建 本文主要介绍了如何在Eclipse3.2环境下使用HibernateSynchronizer-3.1.9、Oracle92和hibernate-3.2.4.sp1来搭建一个简单的Hibernate开发环境,并通过实例演示了基本的...
本篇文章将基于标题"Hibernate学习心得"和提供的压缩包文件,深入探讨Hibernate的相关知识点。 首先,让我们从Hibernate的基础开始。`Hibernate第一章.txt`可能涵盖了这一主题。Hibernate是一个Object-Relational ...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者在Java应用程序中操作数据库,而无需直接编写SQL语句...学习Hibernate不仅有助于入门J2EE开发,也是进一步深入学习Spring Data JPA等高级技术的基础。
总结,本篇笔记主要介绍了Hibernate的基本使用,包括环境配置、项目构建、DAO设计以及具体的数据库操作实现,提供了从创建对象到持久化到数据库的完整流程。通过这种方式,开发者可以更加专注于业务逻辑,而不用过于...
在给定的文件中,`hibernate-search-engine-4.2.0.Beta2.jar`和`hibernate-search-orm-4.2.0.Beta2.jar`就是Hibernate Search的相关组件,它们提供了对Lucene的集成,使得我们能够在Hibernate ORM的基础上实现高效、...
本篇文章将深入探讨Hibernate 3.1.1和3.1.2版本的开发文档,为读者揭示其核心特性和使用方法。 一、Hibernate ORM基础 Hibernate的核心功能在于提供一个持久化层,将Java对象与数据库中的记录进行映射。通过XML配置...
Hibernate学习笔记全面覆盖了基础操作、复杂关系映射和查询语言的使用,是Java开发人员理解和掌握ORM框架的好资源。通过实践这些知识点,开发者可以更高效地管理数据库,提升开发效率,同时减少代码中的错误和冗余。...
在本篇“Spring Hibernate 事务管理学习笔记(二)”中,我们将深入探讨Spring框架与Hibernate集成时如何实现高效、安全的事务管理。这是一篇关于源码分析和技术工具使用的文章,适合对Java开发和数据库操作有基础...
总结,“hibernate3.0立体文档”中的32个示例覆盖了Hibernate的基础和进阶应用,包括配置、映射、CRUD操作、查询、关联关系、事务和性能调优等方面,为初学者和开发者提供了丰富的学习资源。通过实践这些例子,能更...
本篇文章将针对“hibernate-3.0.zip”这一版本进行详细讲解,带你深入理解Hibernate 3.0的核心机制,以及如何在实际项目中有效地运用它。 一、Hibernate 3.0概述 Hibernate 3.0是Hibernate系列的一个重要版本,它在...
本篇学习资料详细介绍了Hibernate的基本概念、配置流程、API调用方法及核心类的使用方式。对于初学者而言,这些内容构成了深入理解Hibernate的基础。通过掌握这些知识点,开发人员可以更加有效地利用Hibernate进行...
本篇文章将详细介绍如何使用MyEclipse Enterprise Workbench进行Hibernate开发的基础特征、概念和技术。通过构建一个简单的Java Hibernate应用来逐步展示整个开发过程。 #### 二、需求 为了能够顺利地进行此教程的...
本篇文章将深入探讨Hibernate的核心概念、对象模型与关系数据库模型的差异以及如何通过Hibernate实现对象关系映射。 一、Hibernate的意义 在面向对象的软件设计中,我们通常会通过UML建模工具,将业务逻辑和数据...
- **SessionFactory**:它是Hibernate的核心组件之一,负责创建Session对象,并且提供了配置信息以及与数据库交互的基础设置。通常,一个数据库对应一个SessionFactory实例。它还负责管理事务间的二级缓存。 - **...
本篇将深入剖析如何利用Structs框架和Hibernate ORM工具进行BS程序的开发,以帮助初学者快速入门。 **1. 概述** Structs是Apache软件基金会的一个开源项目,它为Java EE提供了一个轻量级、可扩展的MVC(Model-View-...
本篇文章将基于给定文件中的信息进行深入解析,重点在于介绍 Hibernate 的基础知识及其在 Java 开发领域的重要作用。文件提供的信息虽然较为简略,但已经涵盖了 Hibernate 的概述、演示大纲、关于演讲者 Steve ...
本篇文章将详细解析Hibernate的基本配置方法,包括数据库连接配置、实体类与数据库表的映射配置等,适合Hibernate初学者学习。 #### 二、环境搭建与基本配置 ##### 2.1 数据库准备 首先,我们需要创建一个用于...
本篇文档提供了关于Hibernate框架的基础知识和深入实践的指导,适合初学者快速入门及进阶学习。通过这些知识点的学习,开发者可以更好地理解和掌握Hibernate的工作原理及其配置细节,从而在实际项目中更高效地利用...