环境:
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:
3、配置FruitDao的IOC。
AppModule.java:
4、html及页面类:
ListFruits.html:
ListFruits.java:
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 代码
- package org.example.pages;
- import java.util.List;
- import org.apache.tapestry.annotations.Inject;
- import org.example.dao.FruitDao;
- import org.example.entities.Fruit;
- public class ListFruits {
- @Inject
- private FruitDao _dao;
- private Fruit _fruit;
- public Fruit getFruit() {
- return _fruit;
- }
- public List getFruitList(){
- return _dao.getFruitList();
- }
- public void setFruit(Fruit fruit) {
- _fruit = fruit;
- }
- public FruitDao getFruitDao() {
- return _dao;
- }
- public void setFruitDao(FruitDao dao) {
- _dao = dao;
- }
- }