<!----><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock><v:shape id="_x0000_s1026" type="#_x0000_t75" wrapcoords="-90 0 -90 21459 21600 21459 21600 0 -90 0" style="MARGIN-TOP: 67.65pt; Z-INDEX: -1; LEFT: 0px; MARGIN-LEFT: 73.5pt; WIDTH: 179.25pt; POSITION: absolute; HEIGHT: 114.75pt; TEXT-ALIGN: left"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" o:title="spring+hibernate"></v:imagedata><w:wrap type="tight"></w:wrap></v:shape>
<v:shapetype o:spt="75" coordsize="21600,21600" filled="f" stroked="f" id="_x0000_t75" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:extrusionok="f" o:connecttype="rect" gradientshapeok="t"></v:path><o:lock v:ext="edit" aspectratio="t"></o:lock></v:shapetype><v:shape id="_x0000_s1026" type="#_x0000_t75" wrapcoords="-90 0 -90 21459 21600 21459 21600 0 -90 0" style="MARGIN-TOP: 5.4pt; Z-INDEX: -1; LEFT: 0px; MARGIN-LEFT: 0px; WIDTH: 179.25pt; POSITION: absolute; HEIGHT: 114.75pt; TEXT-ALIGN: left"><v:imagedata src="file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg" o:title="spring+hibernate"></v:imagedata><w:wrap type="tight"></w:wrap></v:shape>à总体结构布局
à存放所有文件的包
àStudent POJO
àStudent DAO
àDAO 实现类
à实现类测试
àStudent数据表映射文件
àApplicationContext.xml配置文件
<o:p> </o:p>
1.首先加入我们的框架支持<o:p></o:p>
先Spring后hibernate,将hibernate-cfg.xml整合到applicationContext中,注意sessionFactory和dataSource文件的创建。
2.从数据表中建立我们需要的POJO DAO POJO.hbm.xml文件<o:p></o:p>
①POJO<o:p></o:p>
package all;
public class Student implements java.io.Serializable {
private String id;
private String name;
private String age;
public Student() {
}
public Student(String name, String age) {
this.name = name;
this.age = age;
}
…..setter()…..getter()…..
}
②DAO<o:p></o:p>
package all;<o:p></o:p>
<o:p> </o:p>
import java.util.List;<o:p></o:p>
import org.apache.commons.logging.Log;<o:p></o:p>
import org.apache.commons.logging.LogFactory;<o:p></o:p>
import org.hibernate.LockMode;<o:p></o:p>
import org.springframework.context.ApplicationContext;<o:p></o:p>
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;<o:p></o:p>
public class StudentDAO extends HibernateDaoSupport {<o:p></o:p>
private static final Log log = LogFactory.getLog(StudentDAO.class);<o:p></o:p>
public static final String NAME = "name";<o:p></o:p>
public static final String AGE = "age";<o:p></o:p>
protected void initDao() {<o:p></o:p>
//do nothing<o:p></o:p>
}<o:p></o:p>
//保存数据<o:p></o:p>
public void save(Student transientInstance) {<o:p></o:p>
log.debug("saving Student instance");<o:p></o:p>
try {<o:p></o:p>
getHibernateTemplate().save(transientInstance);<o:p></o:p>
log.debug("save successful");<o:p></o:p>
} catch (RuntimeException re) {<o:p></o:p>
log.error("save failed", re);<o:p></o:p>
throw re;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
//删除对象<o:p></o:p>
public void delete(Student persistentInstance) {<o:p></o:p>
log.debug("deleting Student instance");<o:p></o:p>
try {<o:p></o:p>
getHibernateTemplate().delete(persistentInstance);<o:p></o:p>
log.debug("delete successful");<o:p></o:p>
} catch (RuntimeException re) {<o:p></o:p>
log.error("delete failed", re);<o:p></o:p>
throw re;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
//按照ID查询对象<o:p></o:p>
public Student findById( java.lang.String id) {<o:p></o:p>
log.debug("getting Student instance with id: " + id);<o:p></o:p>
try {<o:p></o:p>
Student instance = (Student) getHibernateTemplate()<o:p></o:p>
.get("all.Student", id);<o:p></o:p>
return instance;<o:p></o:p>
} catch (RuntimeException re) {<o:p></o:p>
log.error("get failed", re);<o:p></o:p>
throw re;<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
<o:p></o:p>
//按照例子查询对象<o:p></o:p>
public List findByExample(Student instance) {<o:p></o:p>
log.debug("finding Student instance by example");<o:p></o:p>
try {<o:p></o:p>
List results = getHibernateTemplate().findByExample(instance);<o:p></o:p>
log.debug("find by example successful, result size: " + results.size());<o:p></o:p>
return results;<o:p></o:p>
} catch (RuntimeException re) {<o:p></o:p>
log.error("find by example failed", re);<o:p></o:p>
throw re;<o:p></o:p>
}<o:p></o:p>
} <o:p></o:p>
//照一个属性的名字和对应的值查询对象<o:p></o:p>
public List findByProperty(String propertyName, Object value) {<o:p></o:p>
log.debug("finding Student instance with property: " + propertyName<o:p></o:p>
+ ", value: " + value);<o:p></o:p>
try {<o:p></o:p>
String queryString = "from Student as model where model." <o:p></o:p>
+ propertyName + "= ?";<o:p></o:p>
return
分享到:
相关推荐
struts + spring + hibernate + velocity + ajax + jotm + acegi
通过以上步骤,一个基本的Struts、Spring和Hibernate整合的应用就搭建完成了。这个整合的关键在于Struts处理HTTP请求,Spring管理业务对象和依赖,而Hibernate则处理数据库操作。这样的架构可以实现松耦合,便于代码...
1.通过google ehcache-spring-annotatios.jar自动注解方式实现整合Spring+Ehcache。 2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。...
一个spring+struts+hibernate的例子,是eclipse的工程,用tomcat5和mysql,文件夹下包含所有的源码和库,另外还有一个.sql的文件用于建立数据库。大家觉得它有什么不好,欢迎交流
Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程Struts+Spring+Hibernate 整合教程
在IT行业中,SSH(Spring、Struts2、Hibernate)是一个经典的Java Web开发框架组合,而Redis则是一个高性能的键值存储系统,常用于缓存和数据持久化。将SSH与Redis整合,可以提升应用程序的性能和响应速度。下面将...
计算机毕业设计成品 JAVA JSP 车辆管理系统struts+hibernate+spring (源码+WORD文档) 计算机毕业设计成品 JAVA JSP 车辆管理系统struts+hibernate+spring (源码+WORD文档) 计算机毕业设计成品 JAVA JSP 车辆管理...
SSH三大框架,即Struts、Spring和Hibernate,是Java Web开发中的常用技术组合,它们各自负责不同的职责:Struts作为MVC模式中的Controller层,处理用户请求并转发到相应的业务逻辑;Spring则作为核心容器,负责依赖...
在`stm-ssh`和`SSHdemo`中,可能包含的是Struts2+Spring+Hibernate的整合示例。开发者通常会创建Action类来处理请求,定义Service层来封装业务逻辑,并使用Hibernate来操作数据库。Spring会管理这些对象的生命周期和...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们的整合(SSH)极大地提升了开发效率和项目的可维护性。下面将详细讲解这三大框架的核心功能以及整合过程中的关键知识点。 1. **Struts2**:Struts2是一...
《图书管理系统spring+struts+hibernate》是一款基于Java技术栈开发的图书管理软件,其核心框架包括Spring、Struts和Hibernate。该系统利用MySQL作为数据库存储数据,提供了完整的数据库备份,确保了数据的安全性与...
整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6。 此外,还有:log4j、slf4j、junit4、ehcache等知识点。 项目...
struts+spring+hibernate整合源码 struts+spring+hibernate整合源码struts+spring+hibernate整合源码struts+spring+hibernate整合源码
本书重点介绍如何整合Struts 2.2+Spring 3.0+Hibernate 3.6进行Java EE开发,主要包括三部分,第一部介绍Java EE开发的基础知识,以及如何搭建开发环境。第二部分详细讲解Struts 2.2、Spring 3.0和Hibernate 3.6三...
可能包含的文件有struts-config.xml、spring-beans.xml、hibernate.cfg.xml、数据库脚本、Action类、DAO接口及其实现、服务类、以及相关的JSP页面等,这些都是SSH整合用户注册功能的关键组成部分。通过学习和理解...
Struts2.3.16.1+Hibernate3.6.10+Spring3.2.8整合 能够运行,没有任何问题 另外附带applicationContext.xml、struts.xml、hibernate.cfg.xml
本项目“maven整合spring+hibernate+struts2”就是一个典型的Java Web开发模式,它利用Maven作为项目管理工具,Spring作为核心框架,Hibernate作为持久层解决方案,Struts2作为表现层控制器。以下将详细阐述这些技术...
struts2+spring2.5+hibernate3.2 + freemarker 全新功能实现的增删改查+freemarker 摸版 struts2 的方式自己去看简单。 spring2.5 是用注释来注入 hibernate3.2 是用ejb3注解映射关系 hibernate3 +个属性可以自动...
整合Struts1、Spring2和Hibernate2的过程主要包括以下步骤: 1. **配置环境**:确保所有依赖库已添加到项目的类路径中,如struts-core.jar、spring-framework.jar和hibernate-core.jar等。 2. **配置Struts1**:...
一个简单的spring+struts2+hibernate+mybatis整合(数据库脚本放在项目资源文件的sql目录下) 因为没想好mvc用springmvc好,还是struts2好 所以没有整合进去