第三节:springmvc+hibernate+spring整合实例
2015-08-23 13:50
585 查看
1.action层
UserController.java @Controller @RequestMapping("/userAction") public class UserController { @Resource//@Resource(name="userManager") private IUserManager userManager; @RequestMapping("/toAddUser") public String toAddUser(){ return "/addUser"; } @RequestMapping("/addUser") public String addUser(User user){ userManager.addUser(user); return "redirect:/userAction/getAllUser"; } @RequestMapping("/delUser") public void delUser(String id,HttpServletResponse response){ String result = "{\"result\":\"error\"}"; if(userManager.delUser(id)){ result = "{\"result\":\"success\"}"; } PrintWriter out = null; response.setContentType("application/json"); try { 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:/userAction/getAllUser"; }else{ return "/error"; } } @RequestMapping("/getUser") public String getUser(String id,HttpServletRequest request){ User user = userManager.getUser(id); request.setAttribute("user", user); return "/editUser"; } @RequestMapping("/getAllUser") public String getAllUser(HttpServletRequest request){ List<User> user = userManager.getAllUser(); request.setAttribute("user", user); return "/userManager"; } }2.dao层
IUserDao public interface IUserDAO { public void addUser(User user); public List<User> getAllUser(); public boolean delUser(String id); public User getUser(String id); public boolean updateUser(User user); } UserDao.java public class UserDAO implements IUserDAO { private SessionFactory sessionFactory; public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @Override public void addUser(User user) { sessionFactory.getCurrentSession().save(user); } @Override public List<User> getAllUser() { String hql = "from User"; Query query = sessionFactory.getCurrentSession().createQuery(hql); return query.list(); } @Override 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); } @Override 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(); } @Override 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); } }3.service层
IUserManager public interface IUserManager { public void addUser(User user); public List<User> getAllUser(); public boolean delUser(String id); public User getUser(String id); public boolean updateUser(User user); } UserManager.java public class UserManager implements IUserManager { private IUserDAO userDao; public void setUserDao(IUserDAO userDao) { this.userDao = userDao; } @Override public void addUser(User user) { userDao.addUser(user); } @Override public List<User> getAllUser() { return userDao.getAllUser(); } @Override public boolean delUser(String id) { return userDao.delUser(id); } @Override public User getUser(String id) { return userDao.getUser(id); } @Override public boolean updateUser(User user) { return userDao.updateUser(user); } }4.model层
User.java @Entity @Table(name="T_USER") public class User { @Id @GeneratedValue(generator = "system-uuid") @GenericGenerator(name = "system-uuid", strategy = "uuid") private String id; @Column(length=32) private String userName; @Column(length=32) private String age; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getId() { return id; } public void setId(String id) { this.id = id; } }5.view层
userManager.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function del(id){ $.get("/Hello/userAction/delUser?id=" + id,function(data){ alert(data.result); if("success" == data.result){ alert("删除成功!"); window.location.reload(); }else{ alert("删除失败!") } }); } </script> </head> <body> <table border="1"> <tbody> <tr> <th>姓名</th> <th>年龄</th> <th>编辑</th> </tr> <c:if test="${!empty user }"> <c:forEach items="${user }" var="u"> <tr> <td>${u.userName }</td> <td>${u.age }</td> <td> <a href="/Hello/userAction/getUser?id=${u.id }">编辑</a> <a href="javascript:del('${u.id }')">删除</a> </td> </tr> </c:forEach> </c:if> </tbody> </table> <a href="/Hello/userAction/toAddUser">增加</a> </body> </html> addUser.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function addUser(){ var form = document.forms[0]; form.action="/Hello/userAction/addUser"; form.method="post"; form.submit(); } </script> </head> <body> <h1>添加用户</h1> <form name="userForm" action=""> 姓名:<input type="text" name="userName"> 年龄:<input type="text" name="age"> <input type="button" value="添加" onclick="addUser()"> </form> </body> </html> edit.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <script type="text/javascript" src="../js/jquery-1.7.1.min.js"></script> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> </script> </head> <body> <h>编辑用户</h> <form name="userForm" action="/Hello/userAction/updateUser" method="post"> <input type="hidden" name="id" value="${user.id }"> 姓名:<input type="text" name="userName" value="${user.userName }"> 年龄:<input type="text" name="age" value="${user.age }"> <input type="submit" value="编辑" > </form> </body> </html>6.config配置文件
SpringMVC.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- 注解扫描包 --> <context:component-scan base-package="action" /> <context:component-scan base-package="dao" /> <!-- 开启注解 --> <mvc:annotation-driven/> <!-- 静态资源访问 --> <mvc:resources location="/img/" mapping="/img/**"/> <mvc:resources location="/js/" mapping="/js/**"/> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans> springAnnotation-hibernate.xml <?xml version="1.0" encoding="UTF-8"?> <beans 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:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> <bean id="userDao" class="dao.UserDAO"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userManagerBase" class="service.UserManager"> <property name="userDao" ref="userDao"></property> </bean> <!-- <bean id="userManager" parent="transactionBese"> <property name="target" ref="userManagerBase"></property> </bean> --> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/project"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hiberante.format_sql">true</prop> </props> </property> <property name="configLocations"> <list> <value> classpath*:config/hibernate.cfg.xml </value> </list> </property> </bean> <!-- 配置声明式的事务管理) --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <!-- 注解 式的事务,须在UserDao类名上加@Transactional--> <tx:annotation-driven transaction-manager="transactionManager"/> <!-- 非注解 式的事务--> <!-- <bean id="transactionBese" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" lazy-init="true" abstract="true"> <property name="transactionManager" ref="transactionManager"></property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="get*">PROPAGATION_NEVER</prop> </props> </property> </bean> --> </beans> hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="model.User"/> <!-- <mapping resource="ustc/zwxu/app/model/Role.hbm.xml"/> --> </session-factory> </hibernate-configuration>
相关文章推荐
- Struts2学习(五)访问web元素总结
- Maven下的SpringMVC MyBatis
- struts入门案例
- Java Map接口练习(Map和List及排序)
- spring配置文件-spring-config.xml
- java设计模式学习 ----- 工厂方法模式(Factory Method)
- java设计模式——工厂模式
- 阿里java笔试题像素处理问题
- 【Eclipse】安装subclipse的Eclipse插件
- Struts(20)拦截器
- java设计模式学习 ----- 单例模式(Singleton)
- Struts学习之值栈的理解
- MyEclipse中文乱码问题
- 关于Myeclipse导入ExtJS出错的问题解决:
- 更改myeclipse中的@author
- JAVA2游戏编程——Button(1)
- Struts学习之自定义结果集
- java对文件新建,删除,复制,剪切,重命名
- java线程池的使用,实现大量数据的更新操作
- 阿里巴巴2015秋季笔试研发工程师JAVA