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 代码
 
package org.example.dao;      import java.util.List;      import org.example.entities.Fruit;      public interface FruitDao {          List<fruit> getFruitList();  </fruit>        }  
FruitDaoImpl.java,必须实现FruiDaoImpl(Session),以便于利用tapestry-hibernate的创建hibernate session:
java 代码
 
package org.example.dao;      import java.util.List;      import org.example.entities.Fruit;   import org.hibernate.Session;         public class FruitDaoImpl implements FruitDao{              private Session _session;              public FruitDaoImpl(Session session) {           _session = session;       }          public Session getSession() {           return _session;       }          public void setSession(Session session) {           _session = session;       }          @SuppressWarnings("unchecked")       public List<fruit> getFruitList() {  </fruit>        return getSession().createCriteria(Fruit.class).list();       }   }  

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

java 代码
 
 package org.example.services;            import org.example.dao.FruitDao;     import org.example.dao.FruitDaoImpl;     import org.hibernate.Session;            public class AppModule {                    /*public static FruitDao buildFruitDao(                @InjectService("Session")                Session session) {            return new FruitDaoImpl(session);        }    */   public static void bind(ServiceBinder binder)          {              binder.bind(FruitDao.class, FruitDaoImpl.class);          }   }    

4、html及页面类:
ListFruits.html:
xml 代码
 
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">       <head>       <title>Hibernate testing heretitle>       head>       <body>       <t:grid source="fruitList" row="fruit"/>        body>       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.  }    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值