我先说用了几个框架吧,spring,hibernate,dwr,然后bean用的是annotation标记的:
其中商品和订单表,我用的是一对多
Product bean
- @OneToMany(targetEntity = Order.class, cascade = CascadeType.REMOVE, fetch = FetchType.LAZY)
- @JoinColumn(name = "PRODUCTID")
- public List<Order> getOrders() {
- return orders;
- }
在DAO层里,我用了spring的hibernateDaoSupport,其中有个分页查询方法:
java 代码
-
-
-
-
-
-
-
-
-
- public Page<T> PageQuery(int pageNo,int pageSize){
- Criteria criteria = this.createCriteria();
- return this.pagedQuery(criteria, pageNo, pageSize);
- }
方法返回的page,我自己定义的一个封装了页面属性和内容的bean。
然后定义了一个service层的方法,调用DAO层的这个分页函数。
java 代码
- public List<Product> getProducts(int pageNo,int pageSize){
- return productDAO.PageQuery(pageNo, pageSize).getResult();
- }
JSP页面使用DWR调用service层的getProducts
xml 代码
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr//dwr20.dtd">
- <dwr>
- <allow>
- <create javascript="ProductService" creator="spring">
- <param name="beanName" value="productService"></param>
- <include method="loadProduct" />
- <include method="getProducts" />
- </create>
- </allow>
- </dwr>
再定义了JS函数
js 代码
- window.onload = function(){
- ProductService.getProducts(1,10,displayProducts);
- }
- function displayProducts(products){
- DWRUtil.removeAllRows("items");
- if (items.length == 0) {
- alert("No matching products found");
- $("products").style.visibility = "hidden";
- } else {
- DWRUtil.addRows("items",products,cellFunctions);
- $("products").style.visibility = "visible";
- }
-
- }
-
-
-
-
- var cellFunctions =[
- function(product){return product.productname},
- function(product){return product.productdetail},
- function(product){return product.price},
- function(product) {
- var btn = document.createElement("button");
- btn.innerHTML = "Add to cart";
- btn.productId = product.id;
- btn.onclick = addToCartButtonHandler;
- return btn;
- }
- ];
所有的源码基本上就是这些,我使用单元测试时,lazy效果已经有了!但是我访问页面,通过dwr调用service层方法,好像却失效了,通查询查看hibernate日志,看到与之相关的所有select语句,全部打印了出来!
分享到:
- 2007-08-23 14:09
- 浏览 3803
- 评论(7)
- 论坛回复 / 浏览 (7 / 4849)
- 查看更多
相关推荐
然而,在DWR场景下,由于DWR需要将Java对象转换为JSON格式,以便在JavaScript中使用,这会触发getter方法,从而无意中激活了延迟加载,导致每访问一个延迟加载属性,就会执行一条SQL查询。 解决方案: 1. 使用`...
extjs dwr hibernate spring 整合的树!
【标题】"省市县联动,DWR Hibernate,MySQL"涉及的是三个主要的IT技术领域:地理信息处理、Web服务和数据库管理。在这个场景下,它们共同构建了一个动态、实时的数据交互系统,通常用于构建中国的行政区划信息查询...
struts2.1 spring2.5 ibatis2.3 dwr3 annotation配置 集成 此中例子不完整. 如要下载:http://download.csdn.net/source/2138885
### dwr+hibernate实现的分页技术详解 在当今快速发展的互联网环境中,网站和应用程序需要处理大量的数据。为了提高用户体验并优化服务器资源利用,分页技术成为了必不可少的一部分。本文将详细介绍如何通过结合dwr...
综上所述,"spring2.5 ibatis2.3 struts2.1 dwr3 annotation集成配置"涉及到的不仅仅是单一技术的使用,更是Java Web开发中多框架协同工作的典范,展示了如何利用注解简化配置,提高开发效率,并为大型企业级应用...
### Spring使用Annotation整合DWR知识点解析 #### 一、概览 在现代Web开发中,Direct Web Remoting(简称DWR)是一种简化Ajax应用开发的技术,它允许JavaScript直接调用服务器端的Java方法,而无需编写复杂的XML...
在IT行业中,Spring、Direct Web Remoting (DWR) 和Hibernate是三个非常重要的框架,它们在构建企业级Java应用程序中发挥着关键作用。本项目整合了这三个技术,旨在提供一个高效、灵活且易于维护的后端系统。接下来...
【标题】"Ext+Spring+DWR+Hibernate+Struts"是将这五个技术整合到一个项目中的示例,展示了如何在Java Web开发中利用这些框架进行高效协作。 【描述】提到的学习资源是一个关于EXT(Ext JS)和Direct Web Remoting ...
《疯狂Ajax讲义:Prototype/jQuery+DWR+Spring+Hibernate整合开发》是疯狂Java体系丛书之一,前8章基本以XHTML、JavaScript和DOM编程为主,无须任何基础即可阅读;第9章以后的内容则需要掌握Spring、Hibernate等Java ...
DWR通常需要dwr-engine.jar、dwr-api.jar以及dwr-spring.jar等,而Hibernate则需要hibernate-core.jar、hibernate-entitymanager.jar、jta.jar等。确保这些库已加入到项目的类路径中。 接着,配置Hibernate。在项目...
总结起来,DWR+Spring+Hibernate的整合为开发者提供了强大的工具集,用于构建高性能、高可维护性的Web应用。通过合理配置和使用这三个框架,我们可以构建出既具备实时交互性又具有良好业务逻辑分离的系统,极大地...
《DWR + Hibernate入门示例代码详解》 在IT领域,DWR(Direct Web Remoting)和Hibernate是两个非常重要的工具,它们分别处理Web应用程序的远程调用和对象关系映射。本文将深入探讨如何结合DWR与Hibernate,通过一...
本项目名为"ext-dwr-hibernate",其核心是将三个重要的Java Web开发组件——EXT(一个富客户端JavaScript库)、Direct Web Remoting (DWR) 和 Hibernate(一个对象关系映射框架)进行整合。下面我们将详细探讨这三个...
Hibernate是一个强大的ORM(对象关系映射)框架,它可以将数据库操作转换为对Java对象的操作,降低了数据库编程的复杂性。Hibernate支持JPA(Java Persistence API),并提供了一套自己的API,方便进行数据持久化。 ...
你需要在`src/main/resources/META-INF/spring`目录下创建一个名为`dwr-servlet.xml`的文件,定义DWR的Servlet配置。例如: ```xml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation...
DWR+Struts+spring+hibernate的订货系统,自己添加的dwr功能
Struts2、Hibernate5和DWR3是三个在Java Web开发中广泛应用的开源框架,它们分别专注于MVC(模型-视图-控制器)架构、对象关系映射(ORM)以及远程脚本(Remote Scripting)。这三者的整合为开发者提供了强大的工具...
标题 "一个Spring+hibernate+dwr的例子程序" 暗示了这是一个使用Java企业级开发框架构建的应用程序。这个程序结合了Spring、Hibernate和Direct Web Remoting (DWR)这三个核心组件,来实现高效、动态的Web应用程序。 ...
【标题】:“DWR+Hibernate+Spring未完成例子”揭示了这个压缩包中包含的是一个未完成的示例项目,该示例项目整合了Direct Web Remoting (DWR)、Hibernate ORM框架和Spring框架。这三者都是Java Web开发中的重要组件...