对hiberfnate的认识:hibernate是冬眠的意思,按照开发思想来理解是让数据冬眠,也就是让数据持久化。
hiberante的出现是方便jdbc的操作,在jdbc的基础上发展起来的。我们使用jdbc的时候有很多弊端,在使用jdbc的时候我们大部分时间都实在在写相同重复的代码,对开发很不利,但hibernate做到了让对数据库的操作,简单明了化,是开发人员不用写重复的代码,让开发变的得心应手。
第一个hibernate程序
1 在数据库中建立数据库
2 在java中用数据库的字段建立实体
3 加入hibernate的官方jar包
4.添加映射文件 XXX.hbm.xml
XXX应该和实体的名字相同
找xml的dtd头,找到jar包中hibernat.jar的第一个包 进入包中倒数第二个里面有dtd文件头
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="cn.itcast.hibernate.domain.Customer" table="customers"
lazy="false">
<id name="id" column="id" type="integer">
<generator class="increment"></generator>
</id>
<property name="name" column="name" type="string"></property>
<property name="age" column="age" type="integer"></property>
<property name="birthday" column="birthday" type="date"></property>
<property name="married" column="married" type="boolean"></property>
<property name="photo" column="photo" type="binary"></property>
<property name="description" column="description" type="text"></property>
</class>
</hibernate-mapping>
5 添加跟数据库交互的文件hibernate.properties
加入hibernate.properties 文件,当我们执行相应的语句时,hibernate的相关jar包就会对自动和数据库链接
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/hibernate
hibernate.connection.username=root
hibernate.connection.password=root
hibernate.show_sql=true
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
6 写方法进行测试
1.首选应该创建会话工厂 应该读取配置文件和映射文件
2.打开会话
3.开启事物
4.操作会话
5.提交事物
6.关闭会话
package cn.itcast.hibernate.factory;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import cn.itcast.hibernate.domain.Customer;
public class App {
//sessionFactory 就是对数据源的封装
public static SessionFactory sf = null;
static{
//加载hibernate.properties文件
Configuration conf = new Configuration();
//加载映射文件
conf.addClass(Customer.class);
sf = conf.buildSessionFactory();
}
public static void main(String[] args) {
Customer c = new Customer();
c.setName("Tom");
inserCustomer(c);
}
public static void inserCustomer(Customer c){
Session session = sf.openSession();
Transaction tx = session.beginTransaction();
session.save(c);
tx.commit();
session.close();
}
}
注意:运行可能出错 要加入第三方的jar包 log4j slf-log4j.jar
hibernate的数据类型 全部是小写和java有细微的区别
分享到:
相关推荐
Hibernate 是一个流行的开源 Java ORM(对象关系映射)框架,它旨在简化数据库操作,通过提供一种面向对象的方式来与数据库交互。它建立在 JDBC(Java Database Connectivity)之上,对 JDBC 进行了轻量级的封装,但...
4. 缓存配置:Hibernate提供了一级缓存和二级缓存,一级缓存是Session级别的,而二级缓存可以通过第三方插件如Ehcache进行配置,提高数据访问性能。 5. SessionFactory初始化:通过`Configuration`类加载配置信息并...
Hibernate3.jar是Hibernate ORM框架的第三个主要版本,它提供了丰富的功能,包括对象持久化、查询语言(HQL)、事务管理和缓存机制等。这个JAR文件包含了所有必要的类和库,使得开发者可以直接在项目中引用,实现对...
“Hibernate3_缓存机制”意味着这部分内容将深入探讨Hibernate如何通过缓存提高性能,包括第一级缓存和第二级缓存的概念,以及它们的工作原理。 “Hibernate3_数据加载”则可能涵盖Hibernate的数据检索策略,如懒...
2. **配置文件**:`hibernate.cfg.xml`是Hibernate的配置文件,其中包含了数据库连接信息、缓存设置、方言选择等重要配置,这是启动Hibernate的第一步。 3. **实体类和映射文件**:在Hibernate中,Java类代表数据库...
二级缓存则是SessionFactory级别的,可跨会话共享,通常需要配合第三方缓存实现,如Ehcache。Hibernate还支持查询缓存,将已执行过的查询结果缓存起来,避免重复执行相同的SQL。 六、其他特性 除了上述内容,...
1. **配置映射** 在Hibernate的映射文件(.hbm.xml)或使用注解的方式,我们需要为BLOB类型的属性设置相应的映射。例如,如果有一个`Document`实体类,其中包含一个名为`content`的BLOB字段,映射可能如下: ```...
**1.1 第一部分——第一个Hibernate应用程序** - **设置**: 在开始之前,首先需要搭建开发环境,包括安装Java、配置开发工具如Eclipse或IntelliJ IDEA,并确保Hibernate库已正确添加到项目依赖中。 - **第一个类**:...
Hibernate 4是一个流行的开源对象关系映射(ORM)框架,它允许Java开发者在关系数据库上操作对象,而无需编写大量的SQL代码。在“hibernate-release-4.1.8.Final_api.chm”文档中,你可以找到关于Hibernate 4.1.8...
Hibernate提供了缓存策略,包括第一级缓存(Session级别的缓存)和第二级缓存(SessionFactory级别的缓存),以及查询缓存。合理利用缓存可以显著提升应用性能。 八、事务管理 Hibernate支持JTA和JDBC事务管理,...
8. **缓存机制**:第一级缓存(Session缓存)和第二级缓存(SessionFactory缓存)的概念和配置。 9. **事务管理**:在Hibernate中使用Transaction进行事务控制,确保数据的一致性。 10. **实体关系映射策略**:了解...
在这个“hibernate人生中第一个成功及完美程序”中,我们将深入探讨Hibernate的基本概念、核心功能以及如何构建一个简单的示例应用。 一、Hibernate概述 Hibernate是一个开源的ORM框架,它的主要任务是将Java对象与...
二级缓存则需要配合第三方缓存框架如Ehcache,可进一步提高性能。 七、事务管理 Hibernate支持JTA(Java Transaction API)和JDBC事务管理。通过Transaction接口,可以方便地开始、提交、回滚事务,确保数据操作的...
第一章 ORM 概述 目标: 理解ORM 熟悉Hibernate 的作用 软件分层的优点 Hibernate是一个优秀的持久化框架 什么是持久化? Hiberante应用程序的结构 JDBC与Hibernate的比较 第二章 Hibernate API 目标: Hibernate ...
第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用服务器 13 1.5 小结 16 第2章 建立...
标题中的“Hibernate开发资料整合1”表明这是一份关于Hibernate框架的综合学习资源,可能包含了教程、示例代码、文档等内容。Hibernate是一个流行的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间...
这两种方式都支持设置第一结果和最大结果参数,以此来实现分页。例如,`Query`对象可以使用`setFirstResult()`方法设置起始记录,`setMaxResults()`方法限制返回的最大记录数。 ```java Query query = session....
Hibernate提供了两层缓存:第一级缓存是Session级别的,每个Session都有自己的缓存;第二级缓存是SessionFactory级别的,可以跨Session共享。 ### 5. 异构查询(HQL和Criteria API) - HQL:类似于SQL,但操作对象...
- **Hiberante的对象继承关系之--TPC一个类一张表.doc**:讲述Hibernate处理对象继承和多表映射的方法。 - **hibernate 非主键自增.doc**:关于非主键字段如何实现自动增长的策略。 - **Struts和Hibernate之间搭起...
尽管JSF在某些方面可能不如Struts2成熟,如第三方支持、安全性以及事务管理,但其快速开发(RAD)特性和清晰的编码结构仍受到不少开发者的青睐。 Spring框架则是一个全面的企业级应用框架,不仅包括依赖注入(DI)...