摘要:前面简单介绍了JOTM如何在Spring中配置,并如何使用它的JTA事务,本节将介绍Atomikos如何与Spring集成,并使用它的JTA事务。Atomikos,是一个基于Java的开源事务管理器,提供了事务管理和连接池,不需要应用服务器支持,支持JDBC和JMS事务,能提供对Spring,Hibernate的集成,有兴趣多了解的可以直接参考说明文当,有详细的介绍和使用说明。Atomikos可以到http://www.atomikos.com/products.html#ate下载,最新版本是3.2.0首先,仍然是一个相关的配置文件,用来设置相关的环境,打开解压缩后Atomikos根目录,拷
阅读全文
随笔分类 - spring数据访问
摘要:上节建立了一个简单的Java Application以及所需要的数据库和数据表,本节将介绍JOTM在Spring中的配置。JOTM(Java Open Transaction Manager)是ObjectWeb的一个开源JTA实现,本身也是开源应用程序服务器JOnAS(Java Open Application Server)的一部分,为其提供JTA分布式事务的功能。Spring对JOTM提供了较好的支持,提供了一个org.springframework.transaction.jta.JotmFactoryBean的支持类,在Spring2.0中也包含了JOTM相关的一些library。j
阅读全文
摘要:关于Spring JTA的介绍非常多了,这里就不再一再阐述其优越性怎么怎么了,直接开始正题。一个大致的需求如下,用户在进行增删改操作时,会同时更新2至3个数据库的数据表,操作需要事务来包裹,以便在操作其中一个数据库的数据表失败时,可以将其他数据库已执行的动作回滚。由于主框架是Spring,所以将研究的重点放在Spring所提供的的JTA事务上,google了很多资料,发现有几种实现的技术,如JOTM,Atomikos,以及J2EE容器所提供的JTA实现,如JBOSS也都提供了JTA的实现,不过个人喜好来讲,非常厌恶使用JNDI来访问容器组件,所以,重点放在JOTM和Atoimikos两种技术上
阅读全文
摘要:大多数应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从几乎任何编程语言来...
阅读全文
摘要:This is the ninth and the last part of mySpring Data JPA tutorial. Now it is time to take a look of what we have learned, and how we should use it to build better software.Table of ContentsThe contents of my Spring Data JPA tutorial is given in following:Part One: ConfigurationPart Two: CRUDPart Thr
阅读全文
摘要:The previous part of my tutorial describedhow you can paginate query results with Spring Data JPA. The example application of this blog entry has the same functional requirements, but it will use Querydsl instead of JPA criteria API. This blog entry assumes that you have got experience from both Que
阅读全文
摘要:The previous part of mySpring Data JPA tutorialdescribed how you can sort query results with Spring Data JPA. This blog entry will describe how you can paginate the query results by using Spring Data JPA. In order to demonstrate the pagination support of Spring Data JPA, I will add two new requireme
阅读全文
摘要:The fifth part of mySpring Data JPA tutorialdescribed how you cancreate advanced queries with Spring Data JPA and Querydsl. This blog entry will describe how you can use Spring Data JPA for sorting the query results. As an example I will be adding two new requirements for my example application:The
阅读全文
摘要:The fourth part of mySpring Data JPA tutorialdescribed how you can implement more advanced queries with the JPA criteria API. As you might remember, the goal of the previous part of this tutorial was to implement a search function which returns only such persons whose last name begins with the given
阅读全文
摘要:The third part of mySpring Data JPA tutorialdescribedhow you can create custom queries by using query methods. This blog entry will describe how you can implement more advanced queries by using the JPA criteria API.If you have read the previous part of this tutorial, you might remember that the sear
阅读全文
摘要:在本人的Spring Data JPA教程的第二部分描述了如何用Spring Data JPA创建一个简单的CRUD应用,本博文将描述如何在Spring Data JPA中使用query方法创建自定义查询,为了有一个合理的示例,我为我的应用创建了三个要求:实现通过他们的last name作为搜索条件搜索到person.搜索功能必须返回这样的person,它们的last name准确匹配搜索条件。搜索不区分大小写.现在开始扩展示例应用.所需步骤完成要求的步骤如下:创建一个query方法.使用该创建的query方法.Spring Data JPA提供了三种query方法的不同方式来创建自定义查询,
阅读全文
摘要:我的Spring Data Jpa教程的第一部分描述了,如何配置Spring Data JPA,本博文进一步描述怎样使用Spring Data JPA创建一个简单的CRUD应用。该应用要求如下:person 必须有 first name 和 last name. 这两者是强制的.能够列出所有persons.能够添加新的persons.能够编辑已存在的persons的信息.能够删除persons.现在我已经描述了创建的应用的要求,现在开始工作并实现它。所需步骤CRUD应用的实现可以分割成如下步骤:实现Person 模型对象为Person 对象创建repository使用创建的repository
阅读全文
摘要:Spring Data JPA项目旨在简化基于仓库的JPA的创建并减少与数据库交互的所需的代码量。本人在自己的工作和个人爱好项目中已经使用一段时间,它却是是事情如此简单和清洗,现在是时候与你分享我的知识。本文是我的Spring Data JPA教程的第一部分,将向你描述的是,当你使用Hibernate作为你的jpa提供者时怎样配置Spring Data JPA,在我们开始之前,首先应该明白一件事情,本教程不是Hibernate, JPA 或 Spring的人们教程,如果你想理解在我的Spring Data JPA教程中描述的概念,你必须有关于这些技术方面的经验本教程的依赖如下:BoneCP 0
阅读全文
摘要:写那些数据挖掘之类的博文 写的比较累了,现在翻译一下关于spring data jpa的文章,觉得轻松多了。翻译正文:你有木有注意到,使用Java持久化的API的数据访问代码包含了很多不必要的模式代码?即使你执行一个简单的查询也同样如此,如果你编写动态的查询或实现分页,则情况会更糟。Spring D...
阅读全文
摘要:Data 作为SpringSource的其中一个父项目, 旨在统一和简化对各类型持久化存储, 而不拘泥于是关系型数据库还是NoSQL 数据存储。无论是哪种持久化存储, 数据访问对象(或称作为DAO,即Data Access Objects)通常都会提供对单一域对象的CRUD (创建、读取、更新、删除)操作、查询方法、排序和分页方法等。Spring Data则提供了基于这些层面的统一接口(CrudRepository,PagingAndSortingRepository)以及对持久化存储的实现。你可能接触过某一种Spring 模型对象——比如JdbcTemplate——来编写访问对象的实现。基于
阅读全文
摘要:从一个简单的 JPA 示例开始本文主要讲述 Spring Data JPA,但是为了不至于给 JPA 和 Spring 的初学者造成较大的学习曲线,我们首先从 JPA 开始,简单介绍一个 JPA 示例;接着重构该示例,并引入 Spring 框架,这两部分不会涉及过多的篇幅,如果希望能够深入学习 Spring 和 JPA,可以根据本文最后提供的参考资料进一步学习。自 JPA 伴随 Java EE 5 发布以来,受到了各大厂商及开源社区的追捧,各种商用的和开源的 JPA 框架如雨后春笋般出现,为开发者提供了丰富的选择。它一改之前 EJB 2.x 中实体 Bean 笨重且难以使用的形象,充分吸收了在
阅读全文
摘要:JdbcTemplate针对数据查询提供了多个重载的模板方法,你可以根据需要选用不同的模板方法。 如果你的查询很简单,仅仅是传入相应SQL或者相关参数,然后取得一个单一的结果,那么你可以选择如下一组便利的模板方法:int queryForInt(String sql)int queryForInt(String sql, Object[] args)long queryForLong(String sql)long queryForLong(String sql, Object[] args)Object queryForObject(String sql, Class requiredTyp
阅读全文
摘要:Spring对JDBC的抽象和对Hibernate的集成,都采用了一种理念或者处理方式,那就是模板方法模式与相应的Callback接口相结合。采用模板方法模式是为了以一种统一而集中的方式来处理资源的获取和释放,以JdbcTempalte为例,如下:Java代码publicabstractclassJdbcTemplate{publicfinalObjectexecute(Stringsql){Connectioncon=null;Statementstmt=null;try{con=getConnection();stmt=con.createStatement();ObjectretValu
阅读全文
摘要:概述模板方法模式是GOF设计模式中很典型的设计模式,其意图是由抽象父类控制顶级逻辑,并把基本操作的实现推迟到子类去实现,这是通过继承的手段来达到对象的复用。Spring模板方法模式实际是模板方法模式和回调模式的结合,Spring几乎所有的外接扩展都采用这种模式,如JNDI,JMS,JCA的CCI,JDBC,ORM中的Hiberate3、jdo、Toplink等扩展都采用模板方法模式来扩展。经典的模板方法设计模式开闭原则是指一个软件实体应该对扩展开放,对修改关闭。先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。如图所示,面向接口编程,client只需调用Template接口中的exe
阅读全文
摘要:转载http://blog.csdn.net/mingshuo0615/article/details/6085248作为一名Java开发人员你一定想知道如何在Spring应用中使用新的Ehcache注解功能;是吧?ehcache-spring-annotatios是获得Apache认证的一个开源项目;它大大简化了在Spring应用中基于业界使用广泛的Ehacche-2.0版本实现缓存的技术,1.1.2版本的ehcache-spring-annotations刚刚发布不久,在本文中,我将会介绍如何在一个web工程时使用ehcache-spring-annotations实现缓存机制。创建一个W
阅读全文