- 浏览: 702376 次
- 性别:
- 来自: 北京
博客专栏
-
读金庸故事,品程序人生
浏览量:47704
文章分类
最新评论
-
hty881008:
LZ,你的json返回是怎么出来的,我的怎么是No messa ...
使用CXF暴露您的REST服务 -
jxFY:
赞
Apache的对象池化工具commons-pool -
wangyudong:
新版本的Wisdom RESTClient地址https:// ...
使用CXF暴露您的REST服务 -
wangyudong:
由CXF实现的微服务需要有比较好的工具去测试RESTful A ...
使用CXF暴露您的REST服务 -
spring_springdata:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven3实战笔记01环境配置与使用入门
之后写DAO,无论你是用IDE生成的DAO还是自己写的DAO,代码大致如下:
@Transactional public class PlayerDAO extends JpaDaoSupport implements IPlayerDAO { // property constants public static final String NAME = "name"; public static final String MESS = "mess"; public static final String PIC = "pic";
public void save(PlayersVO entity) { logger.info("saving Player instance"); try { getJpaTemplate().persist(entity); logger.info("save successful"); } catch (RuntimeException re) { logger.error("save failed", re); throw re; } }
public void delete(PlayersVO entity) {
logger.info("deleting Player instance"); try { entity = getJpaTemplate().getReference(PlayersVO.class, entity.getId()); getJpaTemplate().remove(entity); logger.info("delete successful"); } catch (RuntimeException re) { logger.error("delete failed", re); throw re; } } public PlayersVO update(PlayersVO entity) { logger.info("updating Player instance"); try { PlayersVO result = getJpaTemplate().merge(entity); logger.info("update successful"); return result; } catch (RuntimeException re) { logger.error("update failed", re); throw re; } }
public PlayersVO findById(Integer id) { logger.info("finding Player instance with id: " + id); try { PlayersVO instance = getJpaTemplate().find(PlayersVO.class, id); return instance; } catch (RuntimeException re) { logger.error("find failed", re); throw re; } }
@SuppressWarnings("unchecked") public List<PlayersVO> findByProperty(String propertyName, final Object value, final int... rowStartIdxAndCount) { logger.info("finding Player instance with property: " + propertyName + ", value: " + value); try { final String queryString = "select model from PlayersVO model where model." + propertyName + "= :propertyValue"; return getJpaTemplate().executeFind(new JpaCallback() { public Object doInJpa(EntityManager em) throws PersistenceException { Query query = em.createQuery(queryString); query.setParameter("propertyValue", value); if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) {
// 有分页 int rowStartIdx = Math.max(0, rowStartIdxAndCount[0]);
// 开始页 if (rowStartIdx > 0) { query.setFirstResult(rowStartIdx); }
// 一页最大记录数目 if (rowStartIdxAndCount.length > 1) { int rowCount = Math.max(0, rowStartIdxAndCount[1]); if (rowCount > 0) { query.setMaxResults(rowCount); } } } return query.getResultList(); } }); } catch (RuntimeException re) { logger.error("find by property name failed", re); throw re; } }
public List<PlayersVO> findByName(Object name, int... rowStartIdxAndCount) { return findByProperty(NAME, name, rowStartIdxAndCount); }
public List<PlayersVO> findByMess(Object mess, int... rowStartIdxAndCount) { return findByProperty(MESS, mess, rowStartIdxAndCount); }
public List<PlayersVO> findByPic(Object pic, int... rowStartIdxAndCount) { return findByProperty(PIC, pic, rowStartIdxAndCount); }
public List<PlayersVO> findAll(final int... rowStartIdxAndCount) { logger.info("finding all Player instances"); try { final String queryString = "select model from PlayersVO model"; return getJpaTemplate().executeFind(new JpaCallback() { public Object doInJpa(EntityManager em) throws PersistenceException { Query query = em.createQuery(queryString); if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) { int rowStartIdx = Math.max(0, rowStartIdxAndCount[0]); if (rowStartIdx > 0) { query.setFirstResult(rowStartIdx); }
if (rowStartIdxAndCount.length > 1) { int rowCount = Math.max(0, rowStartIdxAndCount[1]); if (rowCount > 0) { query.setMaxResults(rowCount); } } } return query.getResultList(); } }); } catch (RuntimeException re) { logger.error("find all failed", re); throw re; } }
public static IPlayerDAO getFromApplicationContext(ApplicationContext ctx) { return (IPlayerDAO) ctx.getBean("PlayerDAO"); } } |
注意:之所以加入注解:@Transactional,是为了AOP进行事务处理。
发表评论
-
JavaEE5实战笔记05RedHat搭建JBoss、Oracle10g环境
2011-06-01 10:50 1583JavaEE5实战笔记在RedHat上搭建JBoss、Orac ... -
JavaEE5实战笔记02JPA持久层的一些问题
2011-05-30 14:48 16181. JPA关联实体的级联操作问题 在此次联系中 ... -
JavaEE5实战笔记01EJB环境搭建及异常解决
2011-05-30 14:43 50311. 说明 此实战笔记是为了之前的学习笔记做一个 ... -
Spring集成ActiveMQ配置
2011-03-21 20:58 279491. 集成环境 Spring采用2.5.6版本, ... -
JAVA的Mina框架传递对象——一劳永逸(转载)
2011-03-09 11:31 2698接触java的Mina框架已经有很多时间了,在网上也读过了很多 ... -
JavaEE5学习笔记12-JSF验证器使用总结
2011-03-09 00:01 19671. JSF验证器 说完转换器就该说说验证器了, ... -
JavaEE5学习笔记11-JSF转换器使用总结
2011-03-08 23:53 27201. JSF的转换器是在JSF生命周期的第2个阶段 ... -
JSF组件生命周期的讨论
2011-03-08 23:38 17311. JSF生命周期 下面我们来看看JSF组件的 ... -
JavaEE5学习笔记10-JSF基本UI控件使用
2011-03-08 23:34 36621. JSF也是JavaEE5的标准,感觉上sun ... -
JavaEE5学习笔记09-将EJB发布成WebService总结(2)
2011-02-28 09:21 1548以上例子只是简单调用了WebService,参数是简单的Str ... -
JavaEE5学习笔记09-将EJB发布成WebService总结(1)
2011-02-28 09:19 41101. 将EJB发布成,或者说暴露成Web服务(也许 ... -
JavaEE5学习笔记08-JPA与EJB集成总结(4)
2011-02-24 09:36 14911. 在JavaEE容器 ... -
JavaEE5学习笔记08-JPA与EJB集成总结(3)
2011-02-24 09:35 12011. 测试代码 部署成功后,在另一个项目中建立测 ... -
JavaEE5学习笔记08-JPA与EJB集成总结(2)
2011-02-24 09:33 1526下面来看针对此实体操作的sessionBean代码。 接口 ... -
JavaEE5学习笔记08-JPA与EJB集成总结(1)
2011-02-24 09:28 1751JPA是JavaEE5提出的一套标准接口,不同的应用服务器对其 ... -
JavaEE5学习笔记06-EJB之消息驱动Bean(MDB)总结----2
2011-02-21 15:56 1423除了activationConfig之外,如果使用其他Java ... -
JavaEE5学习笔记06-EJB之消息驱动Bean(MDB)总结----1
2011-02-21 15:55 19601. 功能介绍 在EJB的分类中还有一个就是消息驱 ... -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----7
2011-02-21 09:49 13381. EJB的容器式依 ... -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----6
2011-02-21 09:48 1549BMT就是Bean自己管理事务,这种方式就是以硬编码的方式在B ... -
JavaEE5学习笔记05-EJB之会话Bean(sessionBean)总结-----5
2011-02-21 09:46 19011. 有状态的会话Bean的本地、远程调用 其实这 ...
相关推荐
### JSF+Spring+JPA(Hibernate实现)的环境搭建详解 #### 一、概述 在当前企业级应用开发中,技术栈的选择至关重要。本文旨在详细介绍如何构建基于JSF(JavaServer Faces)、Spring以及JPA(Java Persistence API,...
这篇文档"JSF+Spring+JPA_Hibernate实现_的环境搭建.pdf"将引导你一步步建立这样的开发环境,让我们深入探讨其中涉及的知识点。 首先,**JavaServer Faces (JSF)** 是一种Java EE标准的MVC(模型-视图-控制器)框架...
这是jsf+spring2.5+jpa(hibernate)的jar包,很多人为了jsj环境而配置半天,在此提供jar包共享。注:除了ajax4jsf和tomahawk-1.1.3.jar,因为csdn只让我上传20mb,大家自己可以下一下自己试试。
- **选择项目框架**:在创建项目的过程中,可以指定使用JSF、Spring、JPA(由Hibernate实现)等技术栈。 - **配置Web模块参数**:设置项目的Context Root和其他相关参数。 - **配置JPA、Hibernate、JSF、JSTL和...
4. **数据访问层**:在Spring中定义数据访问接口,使用Hibernate的Template或者JPA的Repository来实现这些接口。这样,业务层可以依赖这些接口,而不是直接依赖Hibernate,实现了数据访问层的解耦。 5. **业务逻辑...
在 JCatalog 示例中,Spring 可能用于实现业务服务接口,提供对 Hibernate DAO 的封装,而 JSF 的 Managed Beans 作为视图与控制器的结合,负责处理用户请求并调用 Spring 服务。此外,安全控制也应纳入设计考虑,如...
其中,“JSF + Spring + JPA”作为一种新兴的技术组合,正在逐渐取代传统的“SSH”(Struts + Spring + Hibernate)组合。这一新的技术栈不仅继承了Spring框架的强大功能,还充分利用了JavaServer Faces (JSF) 和 ...
本主题将深入探讨如何使用JavaServer Faces (JSF)、Spring框架和Hibernate ORM工具来实现SQL Server数据库中的数据分页显示。 **JavaServer Faces (JSF)** JSF是一个Java标准,用于构建企业级的Web应用程序。它提供...
在这个"jsf+hibernate+spring集成案例"中,我们将看到: 1. **配置集成**:首先,我们需要在Spring配置文件中定义数据源、SessionFactory(Hibernate的核心组件)以及JSF所需的Managed Beans。这通常涉及到XML配置...
在JSF和Spring的环境中,Hibernate常用于管理数据库交互,Spring可以通过其JPA(Java Persistence API)支持轻松地集成Hibernate。 在这个整合项目中,开发者可能已经配置了以下关键组件: 1. **JSF配置**:JSF的...
在IT行业中,JavaScript Server Faces (JSF)、Spring框架和Hibernate是三个非常重要的技术,它们在构建企业级Java应用程序中发挥着核心作用。本项目是一个综合示例,演示了如何将这三个框架集成在一起以实现一个功能...
总的来说,JSF、Spring和Hibernate的结合提供了一个高效且易于维护的Web应用开发环境,适合构建复杂的企业级系统。通过理解这三个框架各自的功能和它们如何协同工作,开发者可以更有效地利用这些工具构建高质量的...
在"JSF+Hibernate+Spring整合完整例子"中,可能包含了配置文件(如`applicationContext.xml`、`faces-config.xml`)、实体类(对应Hibernate的映射文件)、DAO接口和实现、服务类、JSF页面(`.xhtml`文件)以及相关...
本资源提供的"jsf + spring结合所需jar包"包含了实现这种结合所需的依赖库,使得开发者无需单独寻找各个组件的jar文件,方便快捷地搭建开发环境。 JSF是一个MVC(Model-View-Controller)架构的Java Web组件框架,...
**JSF2 + Primefaces3 + Spring3 & Hibernate4 集成项目详解** JavaScript Framework (JSF) 是Java平台上的一种用于构建用户界面的MVC(Model-View-Controller)框架,而Primefaces是一个基于JSF的开源UI组件库,...
在本实例中,我们探索的是一个基于JSF 1.2、Spring 2.0和Hibernate 3.2的登录应用。这个集成框架是企业级Java应用程序开发的常见选择,因为它提供了模型-视图-控制器(MVC)架构、依赖注入(DI)以及持久化管理的...
- `lib`: 存放项目依赖的第三方库,如JSF实现库、Hibernate库和Spring库等。 综合以上,"JSF+Hibernate_Spring"项目是一个利用JSF作为前端展示层,Hibernate作为持久层,Spring作为整体架构和业务逻辑控制的Java ...