`
什么世道
  • 浏览: 222505 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Hibernate的第一个程序

阅读更多

    Hibernate 是一个开放源代码的对象关系映射(Obeject/Relation Mapping)框架 ,它对JDBC进行了非常轻量级的对象封装。支持现大部分常用的关系型数据库,使得对数据库表的CRUD操作变为OOP的操作。这样在开发效率和可拓展性上方便不少。

    环境准备:官网Hibernate 下载Hibernate ORM 在工程上搭载好核心jar包。

    资源: hibernatezh_CN 、  hibernate annotation references

 

Hibernate 有2方式来实现O/R Mapping,一种是xml(Hibernate风格)方式,另一种是Annotation(实现JPA)方式

 

以下内容可以参考Hibernate官网提供的Example

 

xml方式:

 建立domain类

 

 

package com.yk.domain;

import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * domain user类
 * 
 * @author YangKang
 * 
 */ 
public class User {

	private int id;

	private String name;

	private String password;

	private String date;
 
	 
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}
}

 

建立User映射文件 User.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">
<hibernate-mapping>
	<!-- 指定要持久化的类com.feytuo.education.domain.UserBean 与定义的数据库 表edu_user的对应关系 -->
	<class name="com.yk.domain.User" table="user">
		<id name="id" type="java.lang.Integer" column="id">
			<generator class="identity" />
		</id>
		<property name="name" type="java.lang.String"></property>
		<property name="password" type="java.lang.String"></property>
		<property name="date" type="java.lang.String"></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>
		<!-- 连接mySql数据库的驱动 -->
		<property name="hibernate.connection.driver_class">
			com.mysql.jdbc.Driver
		</property>
		<!-- 连接MySql数据库 -->
		<property name="hibernate.connection.url">
			jdbc:mysql://localhost:3306/test
		</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">qwertyuiopasdfghjkl</property>
		<!-- 设置dialect -->
		<property name="hibernate.dialect">
			org.hibernate.dialect.MySQLDialect
		</property>
		<!--数据库连接池的大小 -->
		<property name="hibernate.connection.pool.size">1</property>
		<!--是否在后台显示Hibernate用到的SQL语句,开发时设置为true -->
		<property name="hibernate.show_sql">true</property>
		<property name="hbm2ddl.auto">update</property>

		<!-- xml方式 -->
		<mapping resource="com/yk/domain/User.hbm.xml" />
		
		<!-- annotation 方式 -->
		<!-- <mapping class="com/yk/domain/User.java" />  -->

	</session-factory>
</hibernate-configuration>

 

Annotation 方式:

 建立domain类引入JPA(Java Persistence API) annotation

package com.yk.domain;

import javax.persistence.Entity;
import javax.persistence.Id;

/**
 * domain user类
 * 
 * @author YangKang
 * 
 */
@Entity
public class User {

	private int id;

	private String name;

	private String password;

	private String date;
 
	@Id
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getDate() {
		return date;
	}

	public void setDate(String date) {
		this.date = date;
	}
}

 

在此不必再写映射的xml文件了,因为Entity替你完成映射了,默认数据库字段与属性名相同。

 但加入到hibernate.cfg.xml里的不是xml文件了,而是domain的CLASS

以上为例,<mapping class="com/yk/domain/User.java" />

 

CRUD测试(以添加数据为例)

package com.yk.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import com.yk.domain.User;

public class UserDAO { 
	public static void main(String args[]) {
		// 第一步:读取Hibernate的配置文件 hibernamte.cfg.xml文件
		Configuration config = new Configuration().configure();
		// 第二步:创建服务注册构建器对象,通过配置对象中加载所有的配置信息
		StandardServiceRegistryBuilder regbulider = new StandardServiceRegistryBuilder()
				.applySettings(config.getProperties());
		// 创建注册服务
		ServiceRegistry sry = regbulider.build();
		// 第三步:创建会话工厂
		SessionFactory factory = config.buildSessionFactory(sry);

		// 取得session
		Session session = null;
		try {
			session = factory.openSession();

			session.beginTransaction();
			User user = new User();
			user.setId(1);
			user.setName("张三");
			user.setPassword("123");
			user.setDate("20131014");
			// 保存User对象
			session.save(user);

			// 提交事务
			session.getTransaction().commit();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

 先从创建一个会话(Session),之后就可以对Session 进行save,update,delete,load,get等操作。

 

我发现在之前的博客上,伙伴们对附在在CSDN的下载资源挺感兴趣的,附上下载地址

http://download.csdn.net/detail/u011458382/7411443

 

1
1
分享到:
评论

相关推荐

    我的第一个Hibernate 程序

    【我的第一个Hibernate程序】这篇文章是关于初学者如何创建并运行第一个Hibernate程序的详细教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的编程,简化了数据...

    第一个hibernate程序及解释

    在提供的文档“第一个Hibernate程序.doc”和源代码文件“FirstHibernate”中,你可以找到更具体的实现细节和解释,这对于理解并实践你的第一个Hibernate程序非常有帮助。通过这个起点,你可以进一步探索Hibernate的...

    hibernate第一个hibernate

    《Hibernate入门:初识与实践》 ...总之,"hibernate第一个hibernate"项目是一个绝佳的起点,它将引导你了解并掌握Hibernate的基本概念和操作。通过实践,你可以逐步熟悉ORM思想,为后续的Java开发奠定坚实的基础。

    Hibernate实践例子程序

    Hibernate 是一个开源的O/R mappimg的框架,基于JDBC...另外还有两个东东,一个是class2hbm,与第一个相反,是根据class来导出映射文件的。还有一个ddl2hbm,是根据数据库来导出表结构,并生成映射文件和POJO class。

    hibernate人生中第一个成功及完美程序(适合入门者)

    在这个“hibernate人生中第一个成功及完美程序”中,我们将深入探讨Hibernate的基本概念、核心功能以及如何构建一个简单的示例应用。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它的主要任务是将Java对象与...

    hibernate环境搭建及第一程序

    【标题】:“Hibernate环境搭建及第一个程序” 在Java开发领域,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需编写大量的SQL语句。本教程将指导...

    第一个Hibernate小程序

    **第一个Hibernate小程序** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据存取的细节。本教程将介绍如何创建一个简单的Hibernate应用程序,...

    hibernate入门小程序

    Hibernate 3.2是Hibernate项目的一个稳定版本,发布于2007年,它带来了许多改进和新特性,如对JPA 1.0规范的支持、更强大的查询语言HQL和 Criteria API等。这个版本提高了性能,增强了可扩展性,并修复了许多已知...

    我的第一个hibernate程序

    《我的第一个Hibernate程序》 在Java开发中,Hibernate是一个非常重要的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语法。本教程将引导你了解并实现“我的第一个Hibernate...

    配置第一个Hibernate程序

    这篇博客"配置第一个Hibernate程序"将引导我们逐步了解如何设置和运行一个基本的Hibernate项目。我们将讨论以下几个关键知识点: 1. **Hibernate概述**: Hibernate是一个对象关系映射(ORM)框架,它允许开发者用...

    Hibernate 的第一个例子

    在本文中,我们将深入探讨如何创建Hibernate的第一个例子,帮助初学者快速入门。** **一、Hibernate 简介** Hibernate 提供了丰富的API,简化了Java应用程序与关系数据库之间的交互。它通过XML配置文件或注解来定义...

    我的第一个hibernate例子

    # Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的...

    hibernate第一天笔记

    总的来说,Hibernate第一天的学习涵盖了基本的环境配置、对象关系映射、主键生成策略、`SessionFactory`和`Session`的使用,以及事务管理和缓存机制。理解并掌握这些基础概念,是进一步深入学习Hibernate和进行实际...

    hibernate人生中第一个使用myEclipse成功及完美程序(适合入门者)

    【标题】:“Hibernate人生中第一个使用MyEclipse成功及完美程序”揭示了初学者如何在MyEclipse集成开发环境中配置并使用Hibernate框架进行数据库操作。这个教程是针对那些希望通过实践来掌握Hibernate技术的新手。 ...

    Eclipse开发第一个Hibernate

    ### Eclipse开发第一个Hibernate程序 #### 引言 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序,它能够将面向对象的数据模型与关系型数据库进行映射,简化了数据库的操作过程,使得开发者可以...

    Hibernate5实例程序

    《Hibernate5实例程序》是一份专为学习Hibernate5框架所编写的代码实例集。Hibernate作为Java领域中的一款主流对象关系映射(ORM)工具,极大地简化了数据库操作,使得开发者能够更加专注于业务逻辑,而非底层的SQL...

    第一个Hibernate程序(有注释)

    本文将带你一步步了解如何创建并运行你的第一个Hibernate程序,这是一个非常基础且详尽的教程,特别适合初学者理解Hibernate的核心概念。 首先,Hibernate是一个强大的对象关系映射(ORM)框架,它允许Java开发者在...

    Hibernate 3.6.3 入门程序

    Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在数据库中操作对象的简便方法。Hibernate 3.6.3是该框架的一个稳定版本,提供了许多功能和改进,使得开发人员能够更高效地处理数据存储和...

    hibernate的一个简单例程

    Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),可以提高性能,减少对数据库的访问。 **总结** 这个简单的Hibernate例程涵盖了从环境配置、实体类定义到持久化操作、事务管理和...

    Hibernate第三方类库

    在Java应用中,包括Hibernate,日志记录是非常关键的,因为它可以帮助开发者追踪程序运行状态,定位和解决问题。Log4j允许程序员定义不同级别的日志输出(如DEBUG、INFO、WARN、ERROR等),并可自定义日志输出的位置...

Global site tag (gtag.js) - Google Analytics