iBatis是个像Hibernate, JDO,EJB一类的数据持久框架,它能将对象映射为SQL语句.它是个轻量级的框架并且持久性API适合持久化POJO.iBatis也与Hibernate, JDO不同,因为它使用存储过程和现有的SQL来处理数据库. 本节我们将向你讲述如何配置iBatis来运行一个小型程序.既然一次性将所有知识全部解释很难,我们索性把本教程分为几个单独的例子来陈述.该例是关于如何从数据库读取数据并将结果显示在你的命令提示符上.在第二个例子中你将学习如何添加更多的数据到数据库中,在此之后的第三个例子将会向你展示如何通过iBatis从记录中删除数据.
简述Hibernate的作用:ORM:Object Relational Mapping,对象关系映射。将java程序中的对象自动持久化到关系数据库中。而Hibernate的作用好比就是在java对象与关系数据库之间的一座桥梁,它主要负责两者之间的映射。在Hibernate内部封装了JDBC技术(但只是一个轻量级的封装,因而可以让程序设计人员更方便的以面向对象的思想操纵数据库),并向外提供API接口。
介绍Abator是一款iBATIS代码生成工具。它从数据库获取信息,然后产生如下文件。数据库表的SqlMap.xmlfile文件,如UserSQL.xml;数据库表的JavaBeanModel,如User.java;包含一个综合主键的数据库表的主键model,如UserKey.java;包含DAO层selectByExample方法的example文件,UserExample.java;提供插入、更新、查询、删除方法的DAO接口UserDAO.java;DAO接口的实现类UserDAOImpl.java。
EJB3.0规范由三部分组成:EJB3.0 Simplified API、EJB核心规范(EJB Core Contracts and Requirements)和JPA(Java Persistence API)。JPA规范部分详细的介绍了JPA中实体Bean的定义,并介绍了实体 Bean支持的注释、全新的查询语言、实体管理接口、容器实现规范等内容。 JPA标准制定过程中充分吸收了目前已经出现的所有持久化技术的所有优点,摒弃了它们存在的局限,使 JPA 在简单易用、查询能力等方面表现突出。 JPA是JCP组织发布的Java EE标准之一,因此任何声称符合JPA标准的框架都遵循同样的架构,提供相同的访问API,这保证了基于JPA开发的企业应用能够经过少量的修改就能够在不同的JPA框架下运行。
作为Java企业版5(JavaEE5)Enterprise JavaBean(EJB)3.0规范的组成部分,Java持续性API(JPA)显著简化了EJB持续性并提供了一个对象关系映射方法,该方法使您可以采用声明方式定义如何通过一种标准的可移植方式(在JavaEE5应用服务器内部以及Java标准版(Java SE)5应用程序中的EJB容器外部均可使用)将Java对象映射到关系数据库表。 在JPA之前,JavaEE应用程序将持续类表示为容器管理的实体bean。使用JPA,您可以将任何普通的旧式Java对象(POJO)类指定为JPA实体:一个应使用JPA持续性提供程序的服务将其非临时字段持久保存到关系数据库(在JavaEEEJB容器的内部或在简单JavaSE应用程序中的EJB容器的外部)的Java对象。 使用JPA时,可以使用批注配置实体的JPA行为。批注是一种使用元数据修饰Java源代码的简单表达方法,它编译为相应的Java类文件,以便在运行时由JPA持续性提供程序解释以管理JPA行为。
Hibernate目前总共分为三大类查询:cretiria,hql,本地sql。第一:关于cretiria的查询 具有一个直观的、可扩展的条件查询API是Hibernate的特色。15.1.创建一个Criteria实例org.hibernate.Criteria接口表示特定持久类的一个查询。Session是Criteria实例的工厂。
第一章ORM概述目标:理解ORM熟悉Hibernate的作用软件分层的优点伸缩性可维护性可扩展性可重用性可管理性Hibernate是一个优秀的持久化框架什么是持久化?
NHibernate简介在今日的企业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。NHibernate是一个面向.Net环境的对象/关系数据库映射工具。对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。NHibernate除了能将一张表映射为一个对象,还可以将表间关系变为对象的属性。例如学生和课程间的多对多关系就可以转化为学生类中的一个课程集合的属性。由此可见,NHibernate不仅仅管理.Net类到数据库表的映射,还提供数据查询和获取数据的方法。因此采用NHibernate,可以大幅度减少开发时人工使用SQL处理数据的时间。
Commonsdbutils是什么?commons-dbutils是Apache组织提供的一个开源JDBC工具类库,对传统操作数据库的类进行二次封装,可以把结果集转化成List。2、Commonsdbutils主要相关类及接口的简介:主要讲解两个类(org.apache.commons.dbutils.DbUtils和org.apache.commons.dbutils.QueryRunner)和一个接口(org.apache.commons.dbutils.ResultSethandler)。
基于ASM的开发很复杂,需要了解JVM的底层编码。CGLIB以ASM为基础, 对ASM的功能进行了扩展和封装,提供了更友好的API,部分通用的模版和高级的功能实现。CGLIB的具体功能如下:(1)扩展ASM的Visitor模式。在ASM的Visitor模式的基础上利用ClassEmitter和CodeEmitter将Visitor事件封装为更符合Java开发者习惯的事件。(2)实现了Java的反射功能。CGLIB不仅可以替代java的反射功能,而且还提供了更强大的功能,例如CGLIB的Enhancer既可以强化子类,也可以扩充接口,与各种Callback配合可以实现许多功能。(3)Transform编程接口。利用Transform可以很容易的实现各种面向实际需要的Transformer,来执行类转化的Transform过程,为Hibernate提供了底层框架的支持。
本文介绍了iBATIS3内的新特性,iBATIS3是来自Apache Foundation的一个ORM工具,可用来构建连接到数据库的Java应用程序。要最大程度地利用本文,建议使用Java Development Kit(JDK)V5或更新版本:EclipseV3.4或更新版本。本文使用的是iBATIS3beta9。iBATIS站点表明该beta9非常接近于通用版本(GA),所以在GA版本可用后,本文中的例子也应适用于GA版本。
iBATIS框架主要的类层次结构总体来说iBATIS的系统结构还是比较简单的,它主要完成两件事情:根据JDBC规范建立与数据库的连接;通过反射打通Java对象与数据库参数交互之间相互转化关系。iBATIS的框架结构也是按照这种思想来组织类层次结构的,其实它是一种典型的交互式框架。先期准备好交互的必要条件,然后构建一个交互的环境,交互环境中还划分成会话,每次的会话也有一个环境。当这些环境都准备好了以后,剩下的就是交换数据了。其实涉及到网络通信,一般都会是类似的处理方式。
HQL查询HQL(HibernateQueryLanguage):具有与sql语言类似的语法规范,只不过sql是针对于数据表字段进行查询,而HQL是针对持久化对象,它用来取得对象.HQL是完全面向对象的,具备继承,多态和关联等特性.除了JAVA类和属性外HQL对大小写不敏感HQL查询依赖于Query类,每个Query实例对应一个查询对象。
在最近发布的几个Hibernate版本中,出现了一种基于Java5注释的更为巧妙的新方法。借助新的HibernateAnnotation库,即可一次性地分配所有旧映射文件——一切都会按照您的想法来定义——注释直接嵌入到您的Java类中,并提供一种强大及灵活的方法来声明持久性映射。籍由自动代码完成和语法突出显示功能,最近发布的JavaIDE也为其提供了有力的支持。
在本文中,用一个真实世界的例子向您介绍两个最激动人心的企业新技术。Hibernate的是一个物件关系映射工具,而春天是一个AOP的框架和国际奥委会的容器。介绍了如何结合这两者,为企业应用程式构建一个事务持久层。在本文中,通过具体介绍使用休眠和春季在企业应用程式中构建一个事务持久层,您会认识到这些技术。