`
Linuxboy
  • 浏览: 76941 次
  • 来自: ...
社区版块
存档分类
最新评论

T5学习小结之五(tapestry-hibernate的基本应用)

阅读更多
环境:
1.容器:tomcat-6.0.10
2.Tapestry5:tapestry-core-5.0.4, tapestry-ioc-5.0.4,tapestry-hibernate-5.0.4
3.Hibernate:hibernate-3.2.2ga, hibernate-annotation-3.2.1
4.数据库:Mysql5, 数据表为fruit(id,name,price,amount)
基本应用(配置从略):
1.POJO(使用annotated class,略):org.example.entities.Fruit
2.DAO
FruitDao.java:
java 代码
 
  1. package org.example.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.example.entities.Fruit;  
  6.   
  7. public interface FruitDao {  
  8.   
  9.     List<fruit> getFruitList();  </fruit>
  10.       
  11. }  
FruitDaoImpl.java,必须实现FruiDaoImpl(Session),以便于利用tapestry-hibernate的创建hibernate session:
java 代码
 
  1. package org.example.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.example.entities.Fruit;  
  6. import org.hibernate.Session;  
  7.   
  8.   
  9. public class FruitDaoImpl implements FruitDao{  
  10.       
  11.     private Session _session;  
  12.       
  13.     public FruitDaoImpl(Session session) {  
  14.         _session = session;  
  15.     }  
  16.   
  17.     public Session getSession() {  
  18.         return _session;  
  19.     }  
  20.   
  21.     public void setSession(Session session) {  
  22.         _session = session;  
  23.     }  
  24.   
  25.     @SuppressWarnings("unchecked")  
  26.     public List<fruit> getFruitList() {  </fruit>
  27.        return getSession().createCriteria(Fruit.class).list();  
  28.     }  
  29. }  

3、配置FruitDao的IOC。
AppModule.java:

java 代码
 
  1.  package org.example.services;    
  2.      
  3.  import org.example.dao.FruitDao;    
  4. import org.example.dao.FruitDaoImpl;    
  5. import org.hibernate.Session;    
  6.      
  7.  public class AppModule {    
  8.          
  9.      /*public static FruitDao buildFruitDao(   
  10.             @InjectService("Session")   
  11.             Session session) {   
  12.         return new FruitDaoImpl(session);   
  13.     }    */  
  14. public static void bind(ServiceBinder binder)  
  15.        {  
  16.            binder.bind(FruitDao.class, FruitDaoImpl.class);  
  17.        }  
  18. }    

4、html及页面类:
ListFruits.html:
xml 代码
 
  1. <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">      
  2. <head>      
  3. <title>Hibernate testing heretitle>      
  4. <!---->head>      
  5. <body>      
  6. <t:grid source="fruitList" row="fruit"/>      
  7. <!----> body>      
  8. <!---->html>      

ListFruits.java:
java 代码
 
  1.  package org.example.pages;    
  2.      
  3. import java.util.List;    
  4.      
  5.  import org.apache.tapestry.annotations.Inject;    
  6.  import org.example.dao.FruitDao;    
  7. import org.example.entities.Fruit;    
  8.      
  9. public class ListFruits {    
  10.      @Inject    
  11.      private FruitDao _dao;    
  12.             
  13.      private Fruit _fruit;    
  14.         
  15.     public Fruit getFruit() {    
  16.          return _fruit;    
  17.     }    
  18.      
  19.      public List getFruitList(){    
  20.          return _dao.getFruitList();    
  21.      }    
  22.      
  23.      public void setFruit(Fruit fruit) {    
  24.          _fruit = fruit;    
  25.      }    
  26.     
  27.    public FruitDao getFruitDao() {    
  28.         return _dao;    
  29.      }    
  30.     
  31.   public void setFruitDao(FruitDao dao) {    
  32.          _dao = dao;    
  33.      }    
  34.          
  35.          
  36.  }    

分享到:
评论
9 楼 Linuxboy 2009-02-26  
网上有很多关于mysql,hibernate,proxool等数据库(源)配置的文章,你可以去搜搜看。
8 楼 lucumu 2009-02-19  
请问,数据库怎么配置阿
7 楼 lihong1840 2007-06-15  
楼上!怎么解决的?教教我,我也遇到了.
6 楼 moonfly2004 2007-06-01  
问题已经解决
5 楼 moonfly2004 2007-05-31  
这个错误什么意思呀??好苦恼,就是按照你的例子做的,我把fruit换成了CstBillHead
4 楼 moonfly2004 2007-05-31  
java.lang.RuntimeException

java.lang.ClassNotFoundException: caught an exception while obtaining a class file for cn.crc.erp.pages.Tapesty5Hibernate
java.lang.ClassNotFoundException

caught an exception while obtaining a class file for cn.crc.erp.pages.Tapesty5Hibernate
exception
java.lang.RuntimeException: Error obtaining injected value for field cn.crc.erp.pages.Tapesty5Hibernate._dao: No service implements the interface cn.crc.erp.entities.dao.CstBillHeadDAO.
java.lang.RuntimeException

Error obtaining injected value for field cn.crc.erp.pages.Tapesty5Hibernate._dao: No service implements the interface cn.crc.erp.entities.dao.CstBillHeadDAO.
java.lang.RuntimeException

No service implements the interface cn.crc.erp.entities.dao.CstBillHeadDAO.
3 楼 wingerd 2007-05-26  
啊哦,明白了,谢谢哈
2 楼 Linuxboy 2007-05-25  
我用的是eclipse,在preferences里设定code style的fields。
1 楼 wingerd 2007-05-22  

一直不知道这个代码风格是咋弄出来的,就是fields前缀是下划线,method的名称又不是。。。
是code template么,楼主能不能告诉我咋整啊,谢谢哈

相关推荐

    tapestry-bin-5.1.0.5

    8. **tapestry-hibernate-NOTICE.txt, tapestry-hibernate-core-NOTICE.txt, tapestry-ioc-NOTICE.txt**:与对应的LICENSE文件类似,这些NOTICE文件列出了在Tapestry的这些特定模块中使用到的第三方组件和它们的版权...

    tapestry-project-4.1.5

    在"tapestry-project-4.1.5"这个压缩包中,我们有机会深入探索 Tapestry 4.1.5 版本的特性和应用。 首先,让我们关注"Tapestry-libraries"这个文件夹。它包含了Tapestry 框架运行所需的各种库文件,这些库文件是...

    tapestry-bin-5.0.14.zip

    - “tapestry-hibernate”是Tapestry与Hibernate集成的模块,使开发者能够方便地在Tapestry应用中使用Hibernate进行对象关系映射(ORM)操作。 - “tapestry-ioc”是Tapestry的依赖注入(IOC)容器,它简化了服务和...

    apache-tapestry-5.3.8-bin.zip

    11. **Tapestry Hibernate**:`tapestry-hibernate-5.3.8.jar`是Tapestry与Hibernate集成的库,提供了在Tapestry应用中使用Hibernate的相关工具和服务。 通过这个发行包,开发者可以快速搭建Tapestry环境,开发基于...

    优化大使tapestry-bin-5.0.18.zip

    这个压缩包包含了多个以"Tapestry"开头的子文件,如 "tapestry-core", "tapestry-hibernate", "tapestry-ioc", "tapestry-upload", 和 "tapestry-spring",这些都是Tapestry框架的不同模块或插件。这些文件的后缀是...

    apache-tapestry-5.3.7-bin.zip

    `tapestry-jpa-5.3.7.jar`和`tapestry-hibernate-5.3.7.jar`则与持久层集成有关,它们支持JPA(Java Persistence API)和Hibernate ORM框架,使开发者能够轻松地在Tapestry应用中处理数据库操作。 总的来说,Apache...

    tapestry cms hibernate版本

    **Tapestry CMS Hibernate 版本详解** Tapestry CMS 是一个基于Java的企业级内容管理系统,它采用Apache Tapestry框架构建,提供了一种强大的、可扩展的和灵活的方式来开发Web应用。在“Tapestry CMS Hibernate版本...

    Tapestry+Hibernate+spring

    【标题】"Tapestry+Hibernate+Spring 整合应用示例" 【正文】 Tapestry、Hibernate 和 Spring 是三个在 Java Web 开发中非常关键的开源框架,它们各自在应用程序的不同层面上发挥着重要作用。Tapestry 是一个基于...

    tapestry-4.0.zip

    这个“tapestry-4.0.zip”压缩包包含了Tapestry框架的4.0版本,这是一个相对较早的但非常稳定的基础,对于初学者来说是个很好的学习起点。在Tapestry 4.0中,我们可以探索许多关于Web应用开发的核心概念和技术。 ...

    Tapestry 5.4.1 相关jar文件

    5. **tapestry-hibernate.jar**(如果适用):提供了与Hibernate ORM的集成,便于进行数据库操作。 6. **tapestry-upload.jar**:支持文件上传功能的组件。 7. **其他依赖库**:如Apache Commons、SLF4J日志框架、...

    tapestry-ioc-5.0.3-src

    通过深入研究"tapestry-ioc-5.0.3-src"中的源代码,开发者可以了解Tapestry IOC如何实现这些功能,以及如何将其应用于实际项目,以提升Web应用的开发效率和质量。同时,源代码还提供了丰富的示例,帮助开发者更好地...

    tapestry hibernate Spring应用及组件的使用

    在IT行业中,开发高效、可维护的Web应用程序是至关重要的,而Tapestry、Hibernate和Spring框架的结合使用,能够帮助我们实现这一目标。本文将深入探讨如何在实际项目中运用这三个技术,以及它们如何协同工作,以实现...

    apache-tapestry-5.3.7

    `apache-tapestry-5.3.7-sources.zip`则包含了源代码,便于深入学习和调试。 6. **二进制分发**: `apache-tapestry-5.3.7-bin.zip`是二进制分发包,包含了运行Tapestry应用所需的库文件和工具。开发者可以快速...

    tapestry-spring-5.2.6.jar

    tapestry-spring-5.2.6.jar,java spring框架依赖,可以直接使用

    tapestry-src-5.1.0.5.zip

    包含: tapestry 的源代码, tapestry集成spring2.0 tapestry快速启动 tapestry upload tapestry hibernate tapestry annotations

    tapestry-4.0.2

    《深入解析 Tapestry 4.0.2:Web 应用程序开发框架的里程碑》 Tapestry 4.0.2 是一个历史悠久且功能强大的Java Web应用程序开发框架,它在2000年代中期引领了Web应用开发的潮流。这款框架以其组件化、事件驱动的...

    tapestry5.3.3+spring+hibernate整合源码

    这个整合源码项目对于学习和理解如何在实际项目中运用Tapestry、Spring和Hibernate的协作机制非常有价值。通过研究这些代码,开发者可以深入理解这三大框架的交互方式,提高自己的技能水平。同时,这也是一个实践性...

    gaedo-tapestry-0.4.6.jar

    gaedo-tapestry-0.4.6.jar

    gaedo-tapestry-0.4.9.jar

    gaedo-tapestry-0.4.9.jar

    gaedo-tapestry-0.4.4.jar

    gaedo-tapestry-0.4.4.jar

Global site tag (gtag.js) - Google Analytics