求Strtus2+spring hibernatee+spring 整合分页 案例 学习下

java 论坛系统源码下载(Struts 2+Hibernate+Spring实现)
Web服务/SOAP/RPC
开发语言:Java
实例大小:1.81M
下载次数:
浏览次数:
发布时间:
实例类别:Web服务/SOAP/RPC
发 布 人:
所需积分:5
&相关标签:
同类人气实例
实例下载地址
java 论坛系统源码下载(Struts 2+Hibernate+Spring实现)
不能下载?内容有错? 点击这里报错
好例子网口号:伸出你的我的手 & 分享!
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
Copyright &
好例子网(www.haolizi.net).All Rights Reserved备案编号:冀ICP备号 石公备号(10)Struts2+Spring+Hibernate实现分页查询功能_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Struts2+Spring+Hibernate实现分页查询功能
上传于||文档简介
&&S​t​r​u​t​s+​S​p​r​i​n​g​+​H​i​b​e​r​n​a​t​e​ ​实​现​分​页​查​询​完​成​流​程​步​骤
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢本帖子已过去太久远了,不再提供回复功能。SpringMVC+Hibernate+Spring 简单的一个整合实例 - 正走向大牛的菜鸟 - ITeye技术网站
博客分类:
SpringMVC又一个漂亮的web框架,他与Struts2并驾齐驱,Struts出世早而占据了一定优势,我在博客《》中做了一个简单的实例,介绍了SSH1的基本搭建方式,Struts2是根据Struts1发展而来,博客中就没有贴SSH2的例子,只对比了下Struts1和Struts2异同,通过对比,SSH2的搭建基本不在话下了。下面同样做一个简单的应用实例,介绍SpringMVC的基本用法,接下来的博客也将梳理一下Struts2和SpringMVC的一些异同,通过梳理和旧知识的联系,让学习的成本变低,花很短的时间就可以了解一门貌似新的技术,其实本质没变。
下面开始实例,这个实例的需求是对用户信息进行增删改查。首先创建一个web项目test_ssh,目录结构及需要的Jar包如下图:
创建一个User实体类,放在Entity包下,采用注解的方式:
package com.tgb.
import javax.persistence.C
import javax.persistence.E
import javax.persistence.GeneratedV
import javax.persistence.Id;
import javax.persistence.T
import org.hibernate.annotations.GenericG
@Table(name="T_USER")
public class User {
@GeneratedValue(generator="system-uuid")
@GenericGenerator(name = "system-uuid",strategy="uuid")
@Column(length=32)
@Column(length=32)
private String userN
@Column(length=32)
public String getId() {
public void setId(String id) {
public String getUserName() {
return userN
public void setUserName(String userName) {
this.userName = userN
public String getAge() {
public void setAge(String age) {
this.age =
本篇关于SpringMVC基本都会采用注解的方式,首先配置好数据源以及事务spring-common.xml,放在config.spring包下:
version="1.0" encoding="UTF-8"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"
name="driverClassName" value="com.mysql.jdbc.Driver"
name="url" value="jdbc:mysql://localhost/test_ssh"
name="username" value="root"
name="password" value="1"
id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"
name="dataSource" ref="dataSource"
name="hibernateProperties"
key="hibernate.dialect"org.hibernate.dialect.MySQLDialect
key="hibernate.hbm2ddl.auto"update
key="hibernate.show_sql"true
key="hibernate.format_sql"true
name="annotatedClasses"
com.tgb.entity.User
id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"
name="sessionFactory" ref="sessionFactory"
id="transactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true"
name="transactionManager" ref="transactionManager"
name="transactionAttributes"
key="add*"PROPAGATION_REQUIRED,-Exception
key="modify*"PROPAGATION_REQUIRED,-myException
key="del*"PROPAGATION_REQUIRED
key="*"PROPAGATION_REQUIRED
然后配置关于SpringMVC的内容,下面配置中都有注释说明,就不再赘述,spring-mvc.xml放在config.spring包下:
version="1.0" encoding="UTF-8"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"
base-package="com.tgb"
location="/js/" mapping="/js/**"
id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"
name="prefix" value="/"
name="suffix" value=".jsp"
完成这些共用的配置之后,来配置web项目起点web.xml:
version="1.0" encoding="UTF-8"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="/xml/ns/javaee" xmlns:web="/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="/xml/ns/javaee /xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"
contextConfigLocation
classpath*:config/spring/spring-*.xml
org.springframework.web.context.ContextLoaderListener
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:config/spring/spring-mvc.xml
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
forceEncoding
encodingFilter
openSession
org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
openSession
读者需自行下载jquery包,放到webContent文件夹下的js包下。然后创建几个测试页面,分别如下:
Login.jsp,项目的入口界面。
&h5&&a href="/test_ssh/user/getAllUser"&进入用户管理页&/a&&/h5&
Index.jsp,用户管理的主界面
%@ page language="java" contentType="text/ charset=UTF-8"
pageEncoding="UTF-8"%
%@ taglib prefix="c" uri="/jsp/jstl/core" %
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
type="text/javascript" src="../js/jquery-1.7.1.js"
http-equiv="Content-Type" content="text/ charset=UTF-8"
Insert title here
type="text/javascript"
function del(id){
$.get("/test_ssh/user/delUser?id=" + id,function(data){
if("success" == data.result){
alert("删除成功");
window.location.reload();
alert("删除失败");
href="/test_ssh/user/toAddUser"添加用户
border="1"
test="${!empty userList }"
items="${userList }" var="user"
${user.userName }
${user.age }
href="/test_ssh/user/getUser?id=${user.id }"编辑
href="javascript:del('${user.id }')"删除
addUser.jsp,添加用户界面
%@ page language="java" contentType="text/ charset=UTF-8"
pageEncoding="UTF-8"%
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
http-equiv="Content-Type" content="text/ charset=UTF-8"
Insert title here
type="text/javascript"
function addUser(){
var form = document.forms[0];
form.action = "/test_ssh/user/addUser";
form.method="post";
form.submit();
action="" name="userForm"
姓名: type="text" name="userName"
年龄: type="text" name="age"
type="button" value="添加" onclick="addUser()"
editUser.jsp,修改用户信息界面。
%@ page language="java" contentType="text/ charset=UTF-8"
pageEncoding="UTF-8"%
%@ taglib prefix="c" uri="/jsp/jstl/core" %
&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
type="text/javascript" src="../js/jquery-1.7.1.js"
http-equiv="Content-Type" content="text/ charset=UTF-8"
Insert title here
action="/test_ssh/user/updateUser" name="userForm" method="post"
type="hidden" name="id" value="${user.id }"
姓名: type="text" name="userName" value="${user.userName }"
年龄: type="text" name="age" value="${user.age }"
type="submit" value="编辑"
还有success.jsp和error.jsp页面,无代码,就不再展示。
框架越来越多,越来越好用,但随之而来的繁杂的、各成体系的配置怎么办?项目大了感觉注解靠谱些。
这篇接着上篇,把没贴完的代码写完,上篇主要完成了一些公共配置和界面的东西,这篇把后台的代码完成。
首先是web包下属于的control层的类UserController,这相当于Struts中的Action,是重要的类:
package com.tgb.
import java.io.IOE
import java.io.PrintW
import javax.annotation.R
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import org.springframework.stereotype.C
import org.springframework.web.bind.annotation.RequestM
import com.tgb.entity.U
import com.tgb.manager.UserM
@Controller
@RequestMapping("/user")
public class UserController {
@Resource(name="userManager")
private UserManager userM
@RequestMapping("/getAllUser")
public String getAllUser(HttpServletRequest request){
request.setAttribute("userList", userManager.getAllUser());
return "/index";
@RequestMapping("/getUser")
public String getUser(String id,HttpServletRequest request){
request.setAttribute("user", userManager.getUser(id));
return "/editUser";
@RequestMapping("/toAddUser")
public String toAddUser(){
return "/addUser";
@RequestMapping("/addUser")
public String addUser(User user,HttpServletRequest request){
userManager.addUser(user);
return "redirect:/user/getAllUser";
@RequestMapping("/delUser")
public void delUser(String id,HttpServletResponse response){
String result = "{\"result\":\"error\"}";
if(userManager.delUser(id)){
result = "{\"result\":\"success\"}";
response.setContentType("application/json");
PrintWriter out = response.getWriter();
out.write(result);
} catch (IOException e) {
e.printStackTrace();
@RequestMapping("/updateUser")
public String updateUser(User user,HttpServletRequest request){
if(userManager.updateUser(user)){
user = userManager.getUser(user.getId());
request.setAttribute("user", user);
return "redirect:/user/getAllUser";
return "/error";
然后是属于manager包下的业务逻辑类,接口UserManager:
package com.tgb.
import java.util.L
import com.tgb.entity.U
public interface UserManager {
public User getUser(String id);
public List&User& getAllUser();
public void addUser(User user);
public boolean delUser(String id);
public boolean updateUser(User user);
实现类UserManagerImpl:
package com.tgb.
import java.util.L
import com.tgb.dao.UserD
import com.tgb.entity.U
public class UserManagerImpl implements UserManager {
private UserDao userD
public void setUserDao(UserDao userDao) {
this.userDao = userD
public User getUser(String id) {
return userDao.getUser(id);
public List&User& getAllUser() {
return userDao.getAllUser();
public void addUser(User user) {
userDao.addUser(user);
public boolean delUser(String id) {
return userDao.delUser(id);
public boolean updateUser(User user) {
return userDao.updateUser(user);
最后是属于dao包底下的DAO层,主要由Hibernate完成。接口UserDao:
package com.tgb.
import java.util.L
import com.tgb.entity.U
public interface UserDao {
public User getUser(String id);
public List&User& getAllUser();
public void addUser(User user);
public boolean delUser(String id);
public boolean updateUser(User user);
实现类UserDaoImpl:
package com.tgb.
import java.util.L
import org.hibernate.Q
import org.hibernate.SessionF
import com.tgb.entity.U
public class UserDaoImpl implements UserDao {
private SessionFactory sessionF
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionF
public User getUser(String id) {
String hql = "from User u where u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, id);
return (User)query.uniqueResult();
public List&User& getAllUser() {
String hql = "from User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
public void addUser(User user) {
sessionFactory.getCurrentSession().save(user);
public boolean delUser(String id) {
String hql = "delete User u where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, id);
return (query.executeUpdate() & 0);
public boolean updateUser(User user) {
String hql = "update User u set u.userName = ?,u.age=? where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, user.getUserName());
query.setString(1, user.getAge());
query.setString(2, user.getId());
return (query.executeUpdate() & 0);
最后外加一个配置spring-beans.xml,放在config.spring包下,负责为各层依赖注入需要的对象:
version="1.0" encoding="UTF-8"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"
id="userDao" class="com.tgb.dao.UserDaoImpl"
name="sessionFactory" ref="sessionFactory"
id="userManagerBase" class="com.tgb.manager.UserManagerImpl"
name="userDao" ref="userDao"
name="userManager" parent="transactionProxy"
name="target" ref="userManagerBase"
到此为止,所有的配置和代码完成,部署—运行,运行结果如下图:
这个小实例结束,下篇将对SpringMVC和Struts2做一个对比。
浏览 38130
浏览: 1025006 次
来自: 北京
不好意思,我的问题,已经OK.感谢大神无私奉献.!!!
楼主能否放出源码,我启动tomcat,数据库表成功建立了,但 ...
能提供源码吗?aop拦截不了service层啊
[flash=200,200][url][img][list] ...您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
Hibernate+struts2+spring 实现分页实例.doc20页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
文档加载中...广告还剩秒
需要金币:100 &&
你可能关注的文档:
··········
··········
Hibernate+struts2+spring 实现分页实例
首先定义一个包含分页相关信息的分页类
首先定义一个包含分页相关信息的分页类
package cn.tutorinfo.
import java.util.L
*该类描述了一个分页数据集 list中是查询的数据集合 ,
public class
//当前页的数据信息
public List
getL public void setList List
list this. public return public void set
this. 其中关于页的信息类
package cn.tutorinfo.
* 该类描述了分页记录集中的关于页的信息
public class
private int totalR //总共记录数
private int total
private int current
private int
private boolean hasP
private boolean hasN
* 构造方法 @param totalRow 总记录数 @param @param */
public this.totalRow
// 根据页大小和总记录数计算出总页数
this.total
// 修正当前页
setCurrent
public int getTotal
return total public int getCurrent
return this.current // 修正计算当前页
public void setCurrent if current this.current else if
current this.current else this.current // 获取分页大小
public int get
return // 设置分页大小
public void set
this. // 获取当前页记录的开始索引
public int getBeginIndex int beginIndex
return beginI // 计算总页数
public int countTotal
return total // 返回下一页的页码
public int getNext
current return this.total return current // 返回前一页的页码
public int getPrevious
current return 1; else return current public boolean isHasPrevious return hasP public boolean isHasNext return hasN public boolean isB public boolean isE public boolean hasNext return current public boolean hasPrevious return current public b
正在加载中,请稍后...}

我要回帖

更多关于 spring hibernate 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信