`
saviorzuo
  • 浏览: 19864 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Hibernate学习笔记(简单的Hibernate环境搭建)

阅读更多
导入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 概述 - **定义**:Hibernate 是一款开源的对象关系映射(ORM)框架,它实现了将 Java 应用程序中的对象模型映射到关系型数据库中的记录。通过 ORM 技术,...

    马士兵java框架hibernate学习笔记

    ### 马士兵Java框架Hibernate学习笔记 #### 一、HelloWorld - **知识点概述**: - **项目搭建**:介绍了如何从零开始搭建一个简单的Hibernate项目。 - **环境配置**:包括了如何配置MySQL数据库、创建必要的表...

    马士兵hibernate学习笔记

    ### 马士兵 Hibernate 学习笔记概览 #### 一、Hello World 示例 - **简介**:通过简单的示例程序来快速入门 Hibernate 框架。 - **步骤**: 1. 创建 Java 项目 `hibernate_0100_HelloWorld`。 2. 构建 User-...

    hibernate学习笔记01

    ### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅...

    Hibernate学习笔记第二部分

    在“Hibernate学习笔记第二部分”中,我们将深入探讨这个强大的工具,特别是针对初学者的基础概念和实践操作。 1. **对象关系映射(ORM)**: ORM是Hibernate的核心特性,它允许开发者使用面向对象的编程方式来处理...

    hibernate学习笔记-01helloword

    以上就是"hibernate学习笔记-01helloworld"涵盖的初步知识,这个简单的示例是进一步深入Hibernate学习的基础。通过这个起点,可以逐步学习到更复杂的持久化操作,如关联映射、级联操作、缓存策略等高级特性。

    hibernate框架开发2016版视频 四天学习笔记完整版

    - Hibernate环境搭建:介绍如何配置Hibernate的依赖,创建SessionFactory,并进行简单的增删查改操作。 - 数据库连接配置:讲解如何在Hibernate配置文件中设置数据库连接参数,如URL、用户名、密码等。 - 实体类和表...

    Hibernate3 学习笔记.ppt

    【一、O/R Mapping】 O/R Mapping,即对象关系映射,是将对象模型与关系数据库之间进行映射的技术。在Hibernate中,O/R Mapping允许开发者以面向对象的方式...学习和掌握Hibernate有助于提升Java应用的数据管理能力。

    Hibernate 学习笔记&代码.zip

    本学习笔记和代码资源是基于黑马程序员在 B 站上的《Hibernate框架》课程,该课程深入浅出地讲解了 Hibernate 的核心概念和实际应用。 **第一天:Hibernate 概述与环境搭建** 1. **Hibernate 概念**:Hibernate 是...

    Hibernate3.2学习笔记

    本篇学习笔记将深入探讨Hibernate3.2的核心概念,包括环境搭建、主要接口、映射方式以及性能优化策略。 首先,让我们从搭建Hibernate3.2开发环境开始。在创建一个新的Java项目后,我们需要添加必要的库文件,主要...

    hibernate框架学习笔记整理

    ### hibernate框架学习笔记整理 #### 一、Hibernate框架简介 **Hibernate框架**是一种用于Java应用的**对象关系映射**(Object-Relational Mapping, ORM)解决方案,它允许开发者使用面向对象的方式操作数据库中的表...

    Hibernate 的学习笔记

    ### Hibernate 学习笔记知识点详解 #### 一、Hibernate 简介 - **概念**:Hibernate 是一种“对象/关系映射”(Object/Relational Mapping,简称 ORM)技术,用于解决 Java 应用程序与关系型数据库交互的问题。 - *...

    Hibernate—详细学习笔记

    这篇详细的Hibernate学习笔记,主要聚焦于使用注解(Annotation)的方式进行配置,这是自Hibernate 3.0版本以来推荐的配置方式,相比XML配置,注解更加简洁且易于维护。 在开始深入学习之前,我们先了解一下...

    Hibernate学习笔记

    ### Hibernate学习笔记精要 #### Hibernate简介与应用 Hibernate是一种开放源码的对象关系映射(ORM)框架,用于Java持久层。它使开发者能够用面向对象的编程思想来操作数据库,而无需关心底层的SQL语句,从而极大...

    hibernate学习笔记

    【hibernate学习笔记】 Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种方便地操作数据库的方式,使得开发者无需直接编写SQL语句,就能实现对象与数据库之间的数据交互。本笔记将带你...

    Hibernate_学习笔记.

    ### Hibernate学习笔记知识点详解 #### Hibernate简介 - **定义**:Hibernate是一种开源的对象关系映射(ORM)框架,用于在Java应用中简化数据库操作。 - **创始人**:由Gavin King于2001年创建。 - **作用**:提供...

    韩顺平Hibernate笔记

    2. **环境配置**:详述如何搭建Hibernate开发环境,包括JDK、数据库、IDE集成等,以及配置Hibernate的核心文件hibernate.cfg.xml。 3. **实体类和映射文件**:讲解如何创建Java实体类,以及对应的Hibernate映射文件...

Global site tag (gtag.js) - Google Analytics