导入Hibernate3.3环境所需的架包.
建立Person类(使用注解方式):
public class Person {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="ID")
private Integer id;
@Column(name="NAME",length=100,nullable=false)
private String name;
@Column(name="DATE",nullable=false)
private Date date;
public Person(Integer id, String name, Date date) {
this.id = id;
this.name = name;
this.date = date;
}
//get/set
@Override
public String toString() {
return id + "," + name + "," + date;
}
}
实现类(接口不贴了):
package org.savior;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
public class PersonDaoImpl implements PersonDao {
private SessionFactory sessionFactory;
public PersonDaoImpl() {
Configuration cg = new AnnotationConfiguration().configure();
sessionFactory = cg.buildSessionFactory();
}
public void delete(Person person) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try {
tx.begin();
session.delete(person);
tx.commit();
} catch (RuntimeException e) {
tx.rollback();
throw e;
} finally {
session.close();
}
}
@SuppressWarnings("unchecked")
public List<Person> findAll() {
Session session = sessionFactory.openSession();
try {
Query q = session.createQuery("from Person");
return q.list();
} finally {
session.close();
}
}
public Person findById(int personId) {
Session session = sessionFactory.openSession();
return (Person) session.get(Person.class, personId);
}
public void save(Person person) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try {
tx.begin();
session.saveOrUpdate(person);
tx.commit();
} catch (RuntimeException e) {
tx.rollback();
throw e;
} finally {
session.close();
}
}
public void update(Person person) {
Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();
try {
tx.begin();
session.update(person);
tx.commit();
} catch (RuntimeException e) {
tx.rollback();
throw e;
} finally {
session.close();
}
}
}
测试:
package org.savior;
import java.util.GregorianCalendar;
import java.util.Iterator;
import java.util.List;
public class textHibernate {
/**
* @param args
*/
public static void main(String[] args) {
PersonDao personDao = new PersonDaoImpl();
Person person = new Person();
person.setName("savior");
person.setDate(new GregorianCalendar(2011, 1, 1).getTime());
personDao.save(person);
List<Person> persons = personDao.findAll();
for(Iterator<Person> it=persons.iterator();it.hasNext();){
person=(Person)it.next();
System.out.println(person);
}
Integer id=persons.get(0).getId();
person=personDao.findById(id);
System.out.println(person);
//personDao.delete(person);
person.setName("puppy");
personDao.update(person);
System.out.println(person);
}
}
hibernate.cgf.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>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3307/test</property>
<property name="connection.username">root</property>
<property name="connection.password">123</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">true</property>
<property name="hbm2ddl.auto">update</property>
<mapping class="org.savior.Person" />
</session-factory>
</hibernate-configuration>
一个简单的Hibernate应用就完成了
分享到:
相关推荐
### Hibernate 学习笔记知识点概览 #### 一、Hibernate 概述 - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,...
### 马士兵Java框架Hibernate学习笔记 #### 一、HelloWorld - **知识点概述**: - **项目搭建**:介绍了如何从零开始搭建一个简单的Hibernate项目。 - **环境配置**:包括了如何配置MySQL数据库、创建必要的表...
### 马士兵 Hibernate 学习笔记概览 #### 一、Hello World 示例 - **简介**:通过简单的示例程序来快速入门 Hibernate 框架。 - **步骤**: 1. 创建 Java 项目 `hibernate_0100_HelloWorld`。 2. 构建 User-...
### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅...
在“Hibernate学习笔记第二部分”中,我们将深入探讨这个强大的工具,特别是针对初学者的基础概念和实践操作。 1. **对象关系映射(ORM)**: ORM是Hibernate的核心特性,它允许开发者使用面向对象的编程方式来处理...
以上就是"hibernate学习笔记-01helloworld"涵盖的初步知识,这个简单的示例是进一步深入Hibernate学习的基础。通过这个起点,可以逐步学习到更复杂的持久化操作,如关联映射、级联操作、缓存策略等高级特性。
- Hibernate环境搭建:介绍如何配置Hibernate的依赖,创建SessionFactory,并进行简单的增删查改操作。 - 数据库连接配置:讲解如何在Hibernate配置文件中设置数据库连接参数,如URL、用户名、密码等。 - 实体类和表...
【一、O/R Mapping】 O/R Mapping,即对象关系映射,是将对象模型与关系数据库之间进行映射的技术。在Hibernate中,O/R Mapping允许开发者以面向对象的方式...学习和掌握Hibernate有助于提升Java应用的数据管理能力。
本学习笔记和代码资源是基于黑马程序员在 B 站上的《Hibernate框架》课程,该课程深入浅出地讲解了 Hibernate 的核心概念和实际应用。 **第一天:Hibernate 概述与环境搭建** 1. **Hibernate 概念**:Hibernate 是...
本篇学习笔记将深入探讨Hibernate3.2的核心概念,包括环境搭建、主要接口、映射方式以及性能优化策略。 首先,让我们从搭建Hibernate3.2开发环境开始。在创建一个新的Java项目后,我们需要添加必要的库文件,主要...
### hibernate框架学习笔记整理 #### 一、Hibernate框架简介 **Hibernate框架**是一种用于Java应用的**对象关系映射**(Object-Relational Mapping, ORM)解决方案,它允许开发者使用面向对象的方式操作数据库中的表...
### Hibernate 学习笔记知识点详解 #### 一、Hibernate 简介 - **概念**:Hibernate 是一种“对象/关系映射”(Object/Relational Mapping,简称 ORM)技术,用于解决 Java 应用程序与关系型数据库交互的问题。 - *...
这篇详细的Hibernate学习笔记,主要聚焦于使用注解(Annotation)的方式进行配置,这是自Hibernate 3.0版本以来推荐的配置方式,相比XML配置,注解更加简洁且易于维护。 在开始深入学习之前,我们先了解一下...
### Hibernate学习笔记精要 #### Hibernate简介与应用 Hibernate是一种开放源码的对象关系映射(ORM)框架,用于Java持久层。它使开发者能够用面向对象的编程思想来操作数据库,而无需关心底层的SQL语句,从而极大...
【hibernate学习笔记】 Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种方便地操作数据库的方式,使得开发者无需直接编写SQL语句,就能实现对象与数据库之间的数据交互。本笔记将带你...
### Hibernate学习笔记知识点详解 #### Hibernate简介 - **定义**:Hibernate是一种开源的对象关系映射(ORM)框架,用于在Java应用中简化数据库操作。 - **创始人**:由Gavin King于2001年创建。 - **作用**:提供...
2. **环境配置**:详述如何搭建Hibernate开发环境,包括JDK、数据库、IDE集成等,以及配置Hibernate的核心文件hibernate.cfg.xml。 3. **实体类和映射文件**:讲解如何创建Java实体类,以及对应的Hibernate映射文件...