环境:
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;
- }
- }