Hibernate技术的研究_林寒超

Hibernate技术的研究_林寒超
Hibernate技术的研究_林寒超

hibernate和spring框架技术难点及其要点总结

个人总结希望能给你带来一些帮助,限于时间篇幅只能如此,如有不方便之处,望见谅. 出处个人博客: https://www.360docs.net/doc/7216572798.html,/blog hibernate二级缓存 二级缓存也称为进程级的缓存或SessionFactory级的缓存,二级缓存可以被所有的session共享阅读全文>> 标签:缓存hibernate hibernate配置 2012-6-20 15:50:00 点击:19 评论:0 hibernate与jdbc应用对比 一、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架,和App Server,和EJB没有什么必然的联系。Hibernate可以用在任何JDBC可以使用的场合,例如Java应用程序的数据库访问代码,DAO接口的实现类,甚至可以是BMP里面的访问数据库的... 阅读全文>> 标签:hibernate jdbc 2012-5-21 13:57:00 点击:0 评论:0 HibernateDaoSupport与JdbcDaoSupport Dao 的支持类可以有好多,如: JdbcDaoSupport , HibernateDaoSupport ,JdoDaoSupport等,下面对最常用的HibernateDaoSupport与JdbcDaoSupport做一小总结:一、在Spring框架中实现连接数... 阅读全文>> 2012-5-21 13:53:00 点击:1 评论:0 Hibernate的几种查询方式-HQL,QBC,QBE,离线查询,复合查询,分页查询... HQL查询方式这一种我最常用,也是最喜欢用的,因为它写起来灵活直观,而且与所熟悉的SQL的语法差不太多。条件查询、分页查询、连接查询、嵌套查询,写起来与SQL语法基本一致,唯一不同的就是把表名换成了类或者对象。其它的,包括一些查询函数(count(),sum()等)、... 阅读全文>> 标签:hibernate 2012-5-21 13:51:00 点击:1 评论:0 hibernate的createSQLQuery的几种用法 用法一:对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行 Session.createSQLQuery()获取这个接口。最简单的情况下,我们可以采用以下形式:List cats = sess.c... 阅读全文>> 2012-5-21 13:44:00 点击:0 评论:0 HQL:hibernate查询返回各类型结果数据 1. 查询整个映射对象所有字段Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 &nbs... 阅读全文>> 2012-5-21 13:38:00 点击:1 评论:0 HQL:Hibernate查询语言 在where子句中允许使用的表达式包括大多数你可以在SQL使用的表达式种类:数学运算符+, -, *, /二进制比较运算符=, >=, <=, <>, !=, like逻辑运算符and, or, notin, not in, between, is nu... 阅读全文>> 2012-5-21 13:34:00 点击:0 评论:0 Hibernate 参数设置一览表 属性名用途hibernate.dialect一个Hibernate Dialect类名允许Hibernate针对特定的关系数据库生成优化的SQL. 取值 full.classname.of.Dialect hibernate.show_sql输出所有SQL语句到控制台. 有一... 阅读全文>>

Hibernate常见概念以及关键技术

软件开发的分层思想: 三层架构: 数据表现层业务逻辑层数据持久层 SUN的桌面应用Swing AWT 普通Java类JDBC SUN的WEB基本应用JSP 普通Servlet JDBC SUN的WEB高级应用JSF SessionBean Persistence WEB国内流行开源Struts Spring Hibernate 一、对象持久化的理论 1.对象持久化:内存中的对象转存到外部持久设备上,在需要的时候还可以恢复。 2.对象持久化的原因(目标):// 是基础工作!是信息共享的主要原因 物理:1) 内存不能持久,需要在硬盘上持久保存//(物理上,物理的都不是根本原因) 2) 内存容量有限,需要在容量更大的硬盘上保存 应用:3) 共享(Internet的本质:信息的收集、整理、发布) //最重要的原因 4) 检索(大规模) //也很重要 5) 管理(备份、安全) 3.怎样进行对象持久化?(仅从JA V A方面讲) 物理:1) 对象序列化 2) DB技术(JDBC 数据库) 4.怎样利用数据库做对象持久化? 优点:功能完备、理论上效率高 缺点:复杂(难)、代码量大、面向R(过程;二维表关系) 2) EJB 仅讲Entity Bean 优点:封装JDBC 缺点:更复杂的API、重量级(侵入式)、功能不完备、难共享 缺点的后果:开发周期长、测试困难、面向过程 以上是2.0之前的版本,但3.0跟Hibernate基本一样 3) ORM 轻量级框架(Hibernate) 现阶段最佳的持久化工具:文档齐全、服务很好、工业标准、大量应用、易学 优点:封装JBDC、简单的API、轻量级(只做持久化)(用类库)、PO(持久对象)->POJO(纯JA V A)、开源 缺点:不够JDBC灵活 5.结论: 1)对象持久化是必须的 2)必须使用DB来实现 3)Hibernate必须的(现阶段最佳选择) 开源工具的通常问题:1.文档不全;2.服务不全;3.标准化不够 而Hibernate避免了所有这些问题 二、ORM和Hibernate的相关知识(理解)

利用轻量对象关系映射技术Hibernate提高开发效率

利用轻量对象关系映射技术Hibernate提高开发效率 Enhancing Development Efficiency with Hibernate a Lightweight Object/Relational Mapping Technology 谢挺 周维民 (上海大学机电工程与自动化学院,上海 200072) 摘 要 Hibernate是一种轻量对象关系映射技术。文章通过实例,介绍了Hibernate的一些关键特性,并阐述了该技术的一些局限性。 关键词 Hibernate 对象关系映射企业级JavaBeans 持久化 Abstract Hibernate is a lightweight Object/Relational Mapping(ORM) technology. Some key features of Hibernate are illustrated, and some limits of this technology are expounded. Keywords Hibernate Object/Relational Mapping (ORM) EJB Permanence 0 引言 随着internet的发展,应用服务程序已经从集中式、C/S模式过渡到B/S、分布式模式;无论是用户或是供应商都迫切希望缩短开发周期、提高开发效率,Hibernate应运而生。 1 Hibernate简介 Hibernate是一个面向Java环境的对象/关系数据库映射工具。对象/关系数据库映射(Object/Relational Mapping , ORM)这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型中去。 Hibernate不仅提高Java类到数据库的映射,还提供数据查询和获取数据的方法。Hibernate在英语中的意思是“冬眠”,顾名思义它使得商务逻辑的开发和数据库最大程度地分离,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。Hibernate的目标是解放开发者通常与数据持久化相关的编程任务的95%。对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是很有用的。 图1是Hibernate的体系结构图,从图中可以Array看到,系统为3层B/S模式,应用程序在客户端运 行将持久化的对象交由Hibernate。Hibernate通过 properties属性设置和XML Mapping实现商务逻 辑,调用和存储低层数据库后将返回的结果送给 客户端。 Hibernate对每一种数据库都有对应的 Dialect进行操作优化,从而提高它在各种情况 下的效率。目前,它的版本为3.0、支持的数据 库有Oracle、DB2、MySQL、PostgreSQL、Sybase,Interbase、Pointbase、Microsoft SQL Server、

Struts2+Hibernate架构技术教程课后参考答案

第1章Struts2框架技术入门 1.5 习题 1.5.1 选择题 1.D 2.A 3.C 4.B 5.B 1.5.2 填空题 1.MVC 2.Struts1和WebWork 3.IBM 4. FilterDispatcher 5.JSP、Struts2标签 1.5.3 简答题 1.简述MVC设计模式的工作流程。 答:MVC设计模式工作流程是: (1)用户的请求(V)提交给控制器(C); (2)控制器接受到用户请求后根据用户的具体需求,调用相应的JavaBean或者EJB(M部分)来进行处理用户的请求; (3)控制器调用M处理完数据后,根据处理结果进行下一步的调转,如跳转到另外一个页面或者其他Servlet。 2.简述Struts2的工作原理。 答:Struts2中使用拦截器来处理用户请求,从而允许用户的业务控制器Action与Servlet分离。用户请求提交后经过多个拦截器拦截后交给核心控制器FilterDispatcher处理,核心控制器读取配置文件struts.xml,根据配置文件的信息指定某一个业务控制器Action(POJO类)来处理用户数据,业务控制器调用某个业务组件进行处理,在处理的过程中可以调用其他模型组件共同完成数据的处理。Action处理完后会返回给核心控制器FilterDispatcher一个处理结果,核心控制器根据返回的处理结果读取配置文件struts.xml,根据配置文件中的配置,决定下一步跳转到哪一个页面。 一个客户请求在Struts2框架中处理的过程大概有以下几个步骤: (1)客户提交请求到服务器; (2)请求被提交到一系列的过滤器过滤后最后到FilterDispatcher; FilterDispatcher是核心控制器,是基于Struts2中MVC模式的控制器部分; (3)FilterDispatcher读取配置文件struts.xml,根据配置信息调用某个Action来处理客户请求; (4)Action执行完毕,返回执行结果,根据struts.xml的配置找到对应的返回结果。

Spring 4 整合 Hibernate 5 技术

Spring 4 整合Hibernate 5 技术 在J2EE开发平台中,spring是一种优秀的轻量级企业应用解决方案。Spring的核心技术就是IOC控制反转和AOP面向切面编程技术。 下面给出一个项目代码示例对Sping的相关技术进行讲解,该项目代码整合了最新的Spring4.2.5和Hibernate5.1技术,项目代码结构图如下:

下面给出详细配置代码 [html]view plain copy 1.package com.kj.test.domain; 2. 3.import java.io.Serializable; 4. 5./** 6. * 用户实体类 7. * @author KJ 8. * 9. */ 10.public class User implements Serializable{ 11. 12. private static final long serialVersionUID = 7178219894611819140L; 13. /** 性别 */ 14. public static final int MAN = 1; //男 15. public static final int FEMAN = 2; //女 16. 17. private Long id; 18. /** 姓名 */ 19. private String name; 20. /** 性别 */ 21. private Integer sex; 22. /** 年龄 */ 23. private Integer age; 24. 25. public User () {

Struts2+Hibernate框架技术教程课后习题答案(张志峰主编)

1.5习题(第33页) 1.5.1选择题 D C C B B 1.5.2填空题 1.MVC 2.Struts Hibernate 3.IBM 4.FilterDispatcher 5. JSP Struts标签 2.7习题(第86页) 2.7.1选择题 B C B D B D 2.7.2填空题 1.struts.xml struts.properity 2.struts.xml struts.properity web.xml 3.Action 拦截器 4.完全分离 5.IOC和非ioc 6.不指定method 不指定method 7.表达式根对象上下文环境 8.UI标签非UI标签 9.表单标签非表单标签 10.控制标签数据标签 3.6习题(第133页) 3.6.1选择题 A A B C C 3.6.2填空题 1..properties 2.native2ascii 3.AOP 4.服务器端校验 5.5习题(第237页) 5.5.1选择题 A B A 5.5.2填空题 1. JDBC ORM

2. Hibernate.cfg.xml Hibernate.properities 3. Hibernate.hbm.xml 4. 临时状态持久状态脱管状态 7.6习题(第326页) 6.11.1选择题 B A C 6.11.2填空题 1.一对一一对多多对多 2.HQL Criteria query native sql 3.一级cache 二级cache Spring3 9.5习题 9.5.1选择题 B A C 9.5.2填空题 1.配置条件 2.bean factory接口及相关类 application contest接口及相关类 3.设置注入构造注入 10.7.1选择题 B D C 10.7.2填空题 1.静态AOP 动态AOP 2.通知 3.静态代理动态代理 4.前置通知后置通知

hibernate分页技术

使用扩展HibernateDaoSupport实现分页技术总结 1.定义MyHibernateDaoSupport 扩展HibernateSupport mport java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class MyHibernateDaoSupport extends HibernateDaoSupport { public List findByPage(final String hql,final int offset,final int pageSize) { List list=this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { List result=session.createQuery(hql).setFirstResult(offset).setMaxResults(page Size).list(); return result; } } ); return list; } public List findByPage(final String hql,final String value,final int offset,final int pageSize)

hibernate(api_介绍)

Hibernate API 1 接口类型 1.访问数据库的各种操作的接口 包括Session、Transaction、Query接口。 2.配置Hibernate的接口 Configuration接口。 3.回调接口 使应用程序能够监听Hibernate内部发生的各种事件,并做出相应的回应。 包括Interceptor接口。 4.映射类型接口 Java数据类型和数据库数据类型的映射,如Type、CompositeUserType等接口。 5.扩展接口 功能扩展,如Dialect、IdentifierGenerator等。 Hibernate内部封装了JDBC(Java Database Connector)、JTA(Java Trasaction API)、JNDI(Java Naming and Directory Interface)。我们只要提供JDBC驱动程序就可以通过Hibernate访问任何数据库系统。 1.1 核心接口 1.org.hibernate.cfg.Configuration Interface 配置并根启动Hibernate。通过该接口来指定Hibernate配置文件(hibernate.cfg.xml 或者hibernate.properties)的位置或动态配置Hibernate的属性,接着创建SessionFactory。 2.org.hibernate.SessionFactory Interface 从该接口中获得Session实例,具备以下特点: a. 多线程安全 b. 重量级,一个数据库对应一个SessionFactory,其创建及销毁消耗资源多。 3.org.hibernate.Session Interface 和我们前面所学的HttpSession没有任何关系。我们在Hibernate应用中使用最广泛的接口。也被称为持久化管理器,提供了相关的数据库操作,比如添、更、删、加、查等基本操作。 特点: a. 非线程安全。 b. 轻量级,其创建及销毁消耗资源少。每个客户请求对应一个Session。 4.org.hibernate.Transaction Interface 封装了底层事务接口。底层事务接口包括: a. JDBC API b. JTA c. CORBA(Common Object Request Broker Architecture) API 5.org.hibernate.Query 和org.hibernate.Criteria Interface 查询接口。用于向数据库查询对象以及控制执行查询的过程。Query封装了HQL(Hibernate Query Language)查询语句,和SQL很类似,唯一的区别在于HQL是面向对象的。 Criteria完全封装了基于字符串形式的查询语句,更加面向对象,擅长执行动态查询,即参数查询。 1.2 回调接口 org.hibernate.Interceptor Interface

Hibernate技术

Hibernate技术 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,把开发者从数据库编程中隔离开来,Java程序中所有进出数据库的操作都交给Hibernate来处理,它会为我们自动生成SQL语句操作数据库. 有了Hibernate后,程序员不再要写繁琐的SQL语句,也不再要把实体对象一个个字段拆开又组 装.Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据类型到SQL 数据类型的映射),还提供了面向对象的数据查询检索机制,从而极大地缩短的手动处理SQL和JDBC上的开发时间。 一、Hibernate架构的概要图

Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。 Session接口 Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。 SessionFactory接口 SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口 Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口 Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query和Criteria接口 Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL 语句两种表达方式。 二、Hibernate包作用详解 Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。 下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包:

相关主题
相关文档
最新文档