springMVC+Hibernate4+spring整合实例二(实例代码部分)
UserController.java 代码:
package com.edw.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.edw.entity.User;
import com.edw.service.IUserManager;
@Controller //类似Struts的Action
@RequestMapping("/user")
public class UserController {
@Resource(name="userManager") // 获取spring配置文件中bean的id为userManager的,并注入
private IUserManager userManager;
@RequestMapping("/addUser") // 请求url地址映射,类似Struts的action-mapping
public String addUser(HttpServletRequest request){
System.out.println(request.getParameter("name").trim());
if(userManager.addUser(new User(request.getParameter("name").trim())))
{
// 重定向
return "redirect:/user/getAllUser";
}else
{
return "/fail";
}
}
@RequestMapping("/updateUser")
public String updateUser(User user,HttpServletRequest request){
//String result = "{\"result\":\"error\"}";
if (userManager.updateUser(user))
{
user = userManager.getOneUser(user);
request.setAttribute("user", user);
//result = "{\"result\":\"success\"}";
return "/UserEdit";
}else
{
return "/fail";
}
}
@RequestMapping("/delUser")
public void delUser(User user,HttpServletResponse response){
String result = "{\"result\":\"error\"}";
if(userManager.delUser(user)){
result = "{\"result\":\"success\"}";
}
PrintWriter out = null;
response.setContentType("application/json");
try {
out = response.getWriter();
out.write(result);
} catch (IOException e) {
e.printStackTrace();
}
}
@RequestMapping("/toAddUser")
public String toAddUser(){
return "/UserAdd";
}
@RequestMapping("/toUpdateUser")
public String toUpdateUser(User user,HttpServletRequest request){
User user1=userManager.getOneUser(user);
request.setAttribute("user1", user1);
return "/UserEdit";
}
@RequestMapping("/getAllUser")
public String getAllUser(HttpServletRequest request){
List userList=userManager.getAllUser();
request.setAttribute("userlist", userList);
return "/UserMain";
}
}
<pre name="code" class="java"><strong><span style="color:#ff0000;">UserDao.java</span> 代码:</strong>
<pre name="code" class="java">
package com.edw.dao;
import java.util.List;
import javax.annotation.Resource;
import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import com.edw.entity.User;
@Repository
public class UserDao implements IUserDao {
private SessionFactory sessionFactory;
@Resource
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
public User getUser(long i) {
String hql = "from User u where u.id=?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setLong(0, i);
return (User) query.uniqueResult();
}
@Override
public List<User> getAllUser() {
String hql = "from User";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
return query.list();
}
@Override
public boolean addUser(User user) {
try{
sessionFactory.getCurrentSession().save(user);
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}
@Override
public boolean delUser(long id) {
String hql = "delete User u where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setLong(0, id);
return (query.executeUpdate() > 0);
}
@Override
public boolean updateUser(User user) {
String hql = "update User u set u.name = ? where u.id = ?";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setString(0, user.getName());
// query.setString(1, user.getAge());
query.setLong(1, user.getId());
return (query.executeUpdate() > 0);
}
}
User.java 代码:
package com.edw.entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="t_user")
public class User {
private int id;
private String name;
public User(){
}
public User(String name){
this.name = name;
}
@GeneratedValue
@Id
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
UserManager.java 代码:
package com.edw.service;
import java.util.List;
import javax.annotation.Resource;
import com.edw.dao.UserDao;
import com.edw.entity.User;
public class UserManager implements IUserManager{
private UserDao userDao;
@Resource
public void setUserDao(UserDao userDao){
this.userDao = userDao;
}
@Override
public boolean updateUser(User user) {
return userDao.updateUser(user);
}
@Override
public User getOneUser(User user) {
return userDao.getUser(user.getId());
}
@Override
public boolean delUser(User user) {
return userDao.delUser(user.getId());
}
@Override
public boolean addUser(User user) {
return userDao.addUser(user);
}
@Override
public List getAllUser() {
return userDao.getAllUser();
}
}
jsp页面部分就不一一给出了,需要的亲可以去 http://download.csdn.net/detail/edwards_june/7876119 下载。。。
总结:
本人也是刚起步学SpringMvc,先前的SSH项目真心庞大,struts中包含了大量无关的jar包,springMVC中基本能胜任,也大大减轻了项目大小,不过也不能认为struts不好,毕竟任何事都有它好的一面,只在与我们在项目中需要什么和谁能提供较好的支持--权衡与折中.本次项目搭建中如有不足之处,希望大家可以提出一起学习,谢谢!!!
springMVC+Hibernate4+spring整合实例二(实例代码部分)的更多相关文章
- springMVC+Hibernate4+Spring整合一(配置文件部分)
本实例采用springMvc hibernate 与 spring 进行整合, 用springmvc 取代了原先ssh(struts,spring,hibernate)中的struts来扮演view层 ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(二):创建流程模型
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 1.maven导包,这里就没有什么多的好说了,直接代码: <depe ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(九):历史任务查询
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(八):完成个人任务
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(七):任务列表展示
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(六):启动流程
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(五):流程定义列表
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
- activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示
注:(1)环境搭建:activiti自定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建 (2)创建流程模型:activiti自定义流程之Spring ...
随机推荐
- UpdateAfterEvent
10月3日,在杭州市西湖景区,一只小松鼠不停地接受一道道食物,花生.玉米.饼干,可谓来者不拒,憨态可掬的模样吸引了众多围观者...Description 小松鼠打了10个小时的游戏,一脸满足.却发 ...
- [USACO12JAN]爬山Mountain Climbing
题目描述 Farmer John has discovered that his cows produce higher quality milk when they are subject to s ...
- 【NOIP2016TG】solution
传送门:https://www.luogu.org/problem/lists?name=&orderitem=pid&tag=83%7C33 D1T1(toys) 题意:有n个小人, ...
- PHP Laravel框架入门心得 | How to study PHP Laravel Framework
PHP有不少开发框架,其中比较出名的有Symfony和Laravel. 我说说我最近入门Laravel的感受和学习方法吧. 1.第一个感受是Laravel的社区讨论和学习资源真的是太棒了,中文化也做得 ...
- 【Python系列】HDF5文件介绍
一个HDF5文件是一种存放两类对象的容器:dataset和group. Dataset是类似于数组的数据集,而group是类似文件夹一样的容器,存放dataset和其他group.在使用h5py的时候 ...
- Union和Union All 的区别
Union和Union All 的区别: Union 是对结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Inter ...
- python的运算符与表达式
Python运算符与表达式 1. 运算符分类 运算符主要分5种: 1. 算术运算符 2. 比较运算符 3. 位运算符 4. 逻辑运算符 5. 成员运算符 6. 身份运算符 7. 赋值运算符 1. 算术 ...
- JSTL标签四种判断语句的用法
一.条件运算符 ${user.gender==1?'男':'女'} 二.if() <c:if test="${2>1}">code..</c:if> ...
- mybatis自动生成
很简单只要配两个文件 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 用一个div模拟textarea的实现
<textarea> 标签定义一个多行的文本输入控件.但是它不能像div一样随着内容增加而自动增加,一言不合就出现滚动条,有是有为了更好的交互,可能需要使用div来模拟textarea的实 ...