void create(Catalog c);
public Catalog getCatalog(Long id);
public List getCatalogs();
public void update(Catalog c);
public void remove(Long id);
}
8. 编写 DAO接口的实现类,实现类使用 Spring 提供的帮助类。示意如下:
package cn.com.jobedu.shop.dao.hibernate;
import java.util.List;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import cn.com.jobedu.shop.dao.CatalogDao;
import cn.com.jobedu.shop.model.Catalog;
public class CatalogDaoHibernate extends HibernateDaoSupport implements CatalogDao {
@Override
public void create(Catalog c) {
// HibernateTemplate template=getHibernateTemplate();
// template.save(c);
getHibernateTemplate().save(c);
}
@Override
public Catalog getCatalog(Long id) {
return (Catalog)getHibernateTemplate().get(Catalog.class, id);
}
@Override
public List getCatalogs() {
return getHibernateTemplate().find("from Catalog order by id desc");
}
@Override
public void remove(Long id) {
// Catalog c=this.getCatalog(id);
// getHibernateTemplate().delete(c);
getHibernateTemplate().delete(getCatalog(id));
}
@Override
public void update(Catalog c) {
getHibernateTemplate().update(c);
}
}
Hibernate与Struts2和Spring组合开发(3)
时间:2011-04-16
9. 修改 applicationContext.xml文件,增加对 Dao实现类的配置。
<bean id="catalogDao"
class="cn.com.jobedu.shop.dao.hibernate.CatalogDaoHibernate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
1.2 再组合Struts2,完成Struts2、Spring和Hibernate的三者组合
0. 修改 web.xml 文件,增加struts2 的所需要的过滤器配置。
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
1.增加 Struts2 相应类库, 增加 struts2-spring-plugin-x-x-x.jar文件。 (Struts 的压缩包中, Struts所提供的。 )
2. 需要拷贝struts.xml 文件到 src 跟目录下,再修改 struts.xml 文件,进行常量配置。
<struts>
<constant name="struts.objectFactory" value="spring" />
</struts>
3. 修改 web.xml 文件,配置 Spring 监听器和上下文变量。
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
修改 web.xml 文件,增加OpenSessionInViewFilter的设置。
<filter>
<filter-name>lazyLoadingFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class> </filter>
<filter-mapping>
<filter-name>lazyLoadingFilter</filter-name>
|