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
相关推荐
【我的第一个Hibernate程序】这篇文章是关于初学者如何创建并运行第一个Hibernate程序的详细教程。Hibernate是一个流行的Java ORM(对象关系映射)框架,它允许开发者将数据库操作转换为面向对象的编程,简化了数据...
在提供的文档“第一个Hibernate程序.doc”和源代码文件“FirstHibernate”中,你可以找到更具体的实现细节和解释,这对于理解并实践你的第一个Hibernate程序非常有帮助。通过这个起点,你可以进一步探索Hibernate的...
《Hibernate入门:初识与实践》 ...总之,"hibernate第一个hibernate"项目是一个绝佳的起点,它将引导你了解并掌握Hibernate的基本概念和操作。通过实践,你可以逐步熟悉ORM思想,为后续的Java开发奠定坚实的基础。
Hibernate 是一个开源的O/R mappimg的框架,基于JDBC...另外还有两个东东,一个是class2hbm,与第一个相反,是根据class来导出映射文件的。还有一个ddl2hbm,是根据数据库来导出表结构,并生成映射文件和POJO class。
在这个“hibernate人生中第一个成功及完美程序”中,我们将深入探讨Hibernate的基本概念、核心功能以及如何构建一个简单的示例应用。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它的主要任务是将Java对象与...
【标题】:“Hibernate环境搭建及第一个程序” 在Java开发领域,Hibernate是一个强大的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者能够用Java对象来处理数据,而无需编写大量的SQL语句。本教程将指导...
**第一个Hibernate小程序** 在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据存取的细节。本教程将介绍如何创建一个简单的Hibernate应用程序,...
Hibernate 3.2是Hibernate项目的一个稳定版本,发布于2007年,它带来了许多改进和新特性,如对JPA 1.0规范的支持、更强大的查询语言HQL和 Criteria API等。这个版本提高了性能,增强了可扩展性,并修复了许多已知...
《我的第一个Hibernate程序》 在Java开发中,Hibernate是一个非常重要的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑,而非底层的SQL语法。本教程将引导你了解并实现“我的第一个Hibernate...
这篇博客"配置第一个Hibernate程序"将引导我们逐步了解如何设置和运行一个基本的Hibernate项目。我们将讨论以下几个关键知识点: 1. **Hibernate概述**: Hibernate是一个对象关系映射(ORM)框架,它允许开发者用...
在本文中,我们将深入探讨如何创建Hibernate的第一个例子,帮助初学者快速入门。** **一、Hibernate 简介** Hibernate 提供了丰富的API,简化了Java应用程序与关系数据库之间的交互。它通过XML配置文件或注解来定义...
# Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的...
总的来说,Hibernate第一天的学习涵盖了基本的环境配置、对象关系映射、主键生成策略、`SessionFactory`和`Session`的使用,以及事务管理和缓存机制。理解并掌握这些基础概念,是进一步深入学习Hibernate和进行实际...
【标题】:“Hibernate人生中第一个使用MyEclipse成功及完美程序”揭示了初学者如何在MyEclipse集成开发环境中配置并使用Hibernate框架进行数据库操作。这个教程是针对那些希望通过实践来掌握Hibernate技术的新手。 ...
### Eclipse开发第一个Hibernate程序 #### 引言 Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序,它能够将面向对象的数据模型与关系型数据库进行映射,简化了数据库的操作过程,使得开发者可以...
《Hibernate5实例程序》是一份专为学习Hibernate5框架所编写的代码实例集。Hibernate作为Java领域中的一款主流对象关系映射(ORM)工具,极大地简化了数据库操作,使得开发者能够更加专注于业务逻辑,而非底层的SQL...
本文将带你一步步了解如何创建并运行你的第一个Hibernate程序,这是一个非常基础且详尽的教程,特别适合初学者理解Hibernate的核心概念。 首先,Hibernate是一个强大的对象关系映射(ORM)框架,它允许Java开发者在...
Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在数据库中操作对象的简便方法。Hibernate 3.6.3是该框架的一个稳定版本,提供了许多功能和改进,使得开发人员能够更高效地处理数据存储和...
Hibernate提供了第一级缓存(Session级别的)和第二级缓存(SessionFactory级别的),可以提高性能,减少对数据库的访问。 **总结** 这个简单的Hibernate例程涵盖了从环境配置、实体类定义到持久化操作、事务管理和...
在Java应用中,包括Hibernate,日志记录是非常关键的,因为它可以帮助开发者追踪程序运行状态,定位和解决问题。Log4j允许程序员定义不同级别的日志输出(如DEBUG、INFO、WARN、ERROR等),并可自定义日志输出的位置...