博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
crud springmvc
阅读量:5061 次
发布时间:2019-06-12

本文共 11049 字,大约阅读时间需要 36 分钟。

实体类:Student.java 

Java代码  
  1. package demo.entity;  
  2.   
  3. public class Student  
  4. {  
  5.     private int id;  
  6.       
  7.     private String name;  
  8.       
  9.     private String sex;  
  10.       
  11.     private String address;  
  12.       
  13.     public int getId()  
  14.     {  
  15.         return id;  
  16.     }  
  17.       
  18.     public void setId(int id)  
  19.     {  
  20.         this.id = id;  
  21.     }  
  22.       
  23.     public String getName()  
  24.     {  
  25.         return name;  
  26.     }  
  27.       
  28.     public void setName(String name)  
  29.     {  
  30.         this.name = name;  
  31.     }  
  32.       
  33.     public String getSex()  
  34.     {  
  35.         return sex;  
  36.     }  
  37.       
  38.     public void setSex(String sex)  
  39.     {  
  40.         this.sex = sex;  
  41.     }  
  42.       
  43.     public String getAddress()  
  44.     {  
  45.         return address;  
  46.     }  
  47.       
  48.     public void setAddress(String address)  
  49.     {  
  50.         this.address = address;  
  51.     }  
  52.       
  53. }  

IStudentDao.java 

Java代码  
  1. package demo.dao;  
  2.   
  3. import java.util.List;  
  4.   
  5. import demo.entity.Student;  
  6.   
  7. public interface IStudentDao  
  8. {  
  9.     public void insert(Student stu);  
  10.       
  11.     public void delete(int id);  
  12.       
  13.     public void update(Student stu);  
  14.       
  15.     public List<Student> findAll();  
  16.       
  17.     public Student findById(int id);  
  18. }  

StudentDaoImpl.java 

Java代码  
  1. package demo.dao.impl;  
  2.   
  3. import java.util.List;  
  4. import java.util.Map;  
  5.   
  6. import javax.annotation.Resource;  
  7.   
  8. import org.springframework.jdbc.core.BeanPropertyRowMapper;  
  9.   
  10. import demo.dao.IStudentDao;  
  11. import demo.entity.Student;  
  12.   
  13. public class StudentDaoImpl implements IStudentDao  
  14. {  
  15.     public static final String INSERT = "insert into student(name,sex,address) values(?,?,?)";  
  16.       
  17.     public static final String DELETE = "delete from student where id=?";  
  18.       
  19.     public static final String UPDATE = "update student set name=?,sex=?,address=? where id=?";  
  20.       
  21.     public static final String FINDALL = "select * from student";  
  22.       
  23.     public static final String FINDBYID = "select * from student where id=?";  
  24.       
  25.     private org.springframework.jdbc.core.simple.SimpleJdbcTemplate simpleJdbcTemplate;  
  26.       
  27.     @Resource  
  28.     public void setSimpleJdbcTemplate(  
  29.             org.springframework.jdbc.core.simple.SimpleJdbcTemplate simpleJdbcTemplate)  
  30.     {  
  31.         this.simpleJdbcTemplate = simpleJdbcTemplate;  
  32.     }  
  33.       
  34.     public void delete(int id)  
  35.     {  
  36.         // TODO Auto-generated method stub  
  37.         this.simpleJdbcTemplate.update(DELETE, id);  
  38.     }  
  39.       
  40.     @SuppressWarnings("deprecation")  
  41.     public List<Student> findAll()  
  42.     {  
  43.         // TODO Auto-generated method stub  
  44.         List<Student> stuList = this.simpleJdbcTemplate.query(FINDALL,new BeanPropertyRowMapper<Student>(Student.class));  
  45.         return stuList;  
  46.     }  
  47.       
  48.     public Student findById(int id)  
  49.     {  
  50.         // TODO Auto-generated method stub  
  51.         Map<String, Object> stuMap = this.simpleJdbcTemplate.queryForMap(FINDBYID, id);  
  52.         Student stu = new Student();  
  53.         stu.setId(id);  
  54.         stu.setName(stuMap.get("name").toString());  
  55.         stu.setSex(stuMap.get("sex").toString());  
  56.         stu.setAddress(stuMap.get("address").toString());  
  57.         return stu;  
  58.     }  
  59.       
  60.     public void insert(Student stu)  
  61.     {  
  62.         // TODO Auto-generated method stub  
  63.         this.simpleJdbcTemplate.update(INSERT, stu.getName(),stu.getSex(),stu.getAddress());  
  64.     }  
  65.       
  66.     public void update(Student stu)  
  67.     {  
  68.         // TODO Auto-generated method stub  
  69.         this.simpleJdbcTemplate.update(UPDATE, stu.getName(),stu.getSex(),stu.getAddress(),stu.getId());  
  70.     }  
  71.       
  72. }  

IStudentService.java 

Java代码  
  1. package demo.service;  
  2.   
  3. import java.util.List;  
  4.   
  5. import demo.entity.Student;  
  6.   
  7. public interface IStudentService  
  8. {  
  9.     public void insert(Student stu);  
  10.       
  11.     public void delete(int id);  
  12.       
  13.     public void update(Student stu);  
  14.       
  15.     public List<Student> findAll();  
  16.       
  17.     public Student findById(int id);  
  18. }  

StudentServiceImpl.java 

Java代码  
  1. package demo.service.impl;  
  2.   
  3. import java.util.List;  
  4.   
  5. import javax.annotation.Resource;  
  6.   
  7. import demo.dao.IStudentDao;  
  8. import demo.entity.Student;  
  9. import demo.service.IStudentService;  
  10.   
  11. public class StudentServiceImpl implements IStudentService  
  12. {  
  13.     private IStudentDao stuDao;  
  14.     @Resource  
  15.     public void setStuDao(IStudentDao stuDao)  
  16.     {  
  17.         this.stuDao = stuDao;  
  18.     }  
  19.   
  20.     public void delete(int id)  
  21.     {  
  22.         // TODO Auto-generated method stub  
  23.         stuDao.delete(id);  
  24.     }  
  25.   
  26.     public List<Student> findAll()  
  27.     {  
  28.         // TODO Auto-generated method stub  
  29.         return stuDao.findAll();  
  30.     }  
  31.   
  32.     public Student findById(int id)  
  33.     {  
  34.         // TODO Auto-generated method stub  
  35.         return stuDao.findById(id);  
  36.     }  
  37.   
  38.     public void insert(Student stu)  
  39.     {  
  40.         // TODO Auto-generated method stub  
  41.         stuDao.insert(stu);  
  42.     }  
  43.   
  44.     public void update(Student stu)  
  45.     {  
  46.         // TODO Auto-generated method stub  
  47.         stuDao.update(stu);  
  48.     }  
  49.       
  50. }  

StudentController.java 

Java代码  
  1. package demo.controller;  
  2.   
  3. import java.io.UnsupportedEncodingException;  
  4. import java.util.List;  
  5.   
  6. import javax.annotation.Resource;  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.   
  10. import org.springframework.stereotype.Controller;  
  11. import org.springframework.ui.ModelMap;  
  12. import org.springframework.web.bind.annotation.PathVariable;  
  13. import org.springframework.web.bind.annotation.RequestMapping;  
  14. import org.springframework.web.bind.annotation.RequestMethod;  
  15. import org.springframework.web.servlet.ModelAndView;  
  16.   
  17. import demo.entity.Student;  
  18. import demo.service.IStudentService;  
  19.   
  20. @Controller  
  21. @RequestMapping("/student")  
  22. public class StudentController  
  23. {  
  24.     private IStudentService stuService;  
  25.       
  26.     @Resource  
  27.     public void setStuService(IStudentService stuService)  
  28.     {  
  29.         this.stuService = stuService;  
  30.     }  
  31.       
  32.     /** 
  33.      * 全部 
  34.      */  
  35.     @RequestMapping(value = "/all", method = RequestMethod.GET)  
  36.     public ModelAndView findAll(HttpServletRequest request,  
  37.             HttpServletResponse response, ModelMap modelMap)  
  38.     {  
  39.         List<Student> stuList = stuService.findAll();  
  40.         modelMap.put("stuList", stuList);  
  41.         return new ModelAndView("allStudent", modelMap);  
  42.     }  
  43.       
  44.     /** 
  45.      * 删除 
  46.      */  
  47.     @RequestMapping(value = "/delete/{id}", method = RequestMethod.GET)  
  48.     public String delete(HttpServletRequest request,  
  49.             HttpServletResponse response, @PathVariable("id")  
  50.             int id, ModelMap modelMap)  
  51.     {  
  52.         stuService.delete(id);  
  53.         return "redirect:/student/all.do";  
  54.     }  
  55.       
  56.     /** 
  57.      * 添加 
  58.      */  
  59.     @RequestMapping(value = "/add", method = RequestMethod.POST)  
  60.     public String addStudent(HttpServletRequest request,  
  61.             HttpServletResponse response, Student stu)  
  62.             throws UnsupportedEncodingException  
  63.     {  
  64.         stuService.insert(stu);  
  65.         return "redirect:/student/all.do";  
  66.     }  
  67.       
  68.     /** 
  69.      * pre4Update 
  70.      */  
  71.     @RequestMapping("/pre4Update/{id}")  
  72.     public ModelAndView pre4Update(HttpServletRequest request,  
  73.             HttpServletResponse response, @PathVariable("id")  
  74.             int id, ModelMap modelMap)  
  75.     {  
  76.         Student stu = stuService.findById(id);  
  77.         modelMap.put("stu", stu);  
  78.         return new ModelAndView("updateStudent", modelMap);  
  79.     }  
  80.       
  81.     /** 
  82.      * updateStudent 
  83.      */  
  84.     @RequestMapping("/updateStudent")  
  85.     public String updateStudent(HttpServletRequest request,  
  86.             HttpServletResponse response, Student stu)  
  87.     {  
  88.         stuService.update(stu);  
  89.         return "redirect:/student/all.do";  
  90.     }  
  91.       
  92.     /** 
  93.      * 跳转:用于跳转的过度 
  94.      */  
  95.     @RequestMapping(value = "/redir/{url}", method = RequestMethod.GET)  
  96.     public String sendRedirect(HttpServletRequest request,  
  97.             HttpServletResponse response, @PathVariable("url")  
  98.             String url)  
  99.     {  
  100.         return url;  
  101.     }  
  102. }  

================================================ 
配置文件: 
jdbc.properties 

Java代码  
  1. jdbc.driverClassName=com.mysql.jdbc.Driver  
  2. jdbc.url=jdbc:mysql://localhost:3306/demo?characterEncoding=utf-8  
  3. jdbc.username=root  
  4. jdbc.password=root  

servlet.xml 

Java代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2.   
  3. <beans xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  6.     xmlns:context="http://www.springframework.org/schema/context"  
  7.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd  
  8.         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd  
  9.         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">  
  10.   
  11.   
  12.   
  13.       
  14.     <context:component-scan base-package="demo.controller"></context:component-scan>  
  15.     <!-- 内部资源视图解析器 (用于支持Servlet、JSP视图解析) -->  
  16.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
  17.         <property name="prefix" value="/WEB-INF/jsp/"/>  
  18.         <property name="suffix" value=".jsp"/>  
  19.     </bean>  
  20.   
  21.   
  22.     <!-- 数据库连接配置文件路径及读取方式 -->  
  23.     <bean id="propertyConfigurer"  
  24.         class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">  
  25.         <property name="locations">  
  26.             <list>  
  27.                 <value>classpath:jdbc.properties</value>  
  28.             </list>  
  29.         </property>  
  30.     </bean>  
  31.   
  32.     <!-- 数据库连接池 -->  
  33.     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"  
  34.         destroy-method="close">  
  35.         <property name="driverClassName" value="${jdbc.driverClassName}" />  
  36.         <property name="url" value="${jdbc.url}" />  
  37.         <property name="username" value="${jdbc.username}" />  
  38.         <property name="password" value="${jdbc.password}" />  
  39.     </bean>  
  40.   
  41.     <bean id="simpleJdbcTemplate"    
  42.         class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">    
  43.         <constructor-arg><ref bean="dataSource"/></constructor-arg>    
  44.     </bean>  
  45.     <!-- spring JDBC -->  
  46.     <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
  47.         <property name="dataSource" ref="dataSource" />  
  48.     </bean>  
  49.       
  50. </beans>  

applicationContext-dao.xml 

Java代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd">  
  3. <beans>  
  4.     <bean id="stuDao" class="demo.dao.impl.StudentDaoImpl">  
  5.         <property name="simpleJdbcTemplate"  
  6.             ref="simpleJdbcTemplate" />  
  7.     </bean>  
  8. </beans>  

applicationContext-service.xml 

Java代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " http://www.springframework.org/dtd/spring-beans.dtd">  
  3. <beans>  
  4.     <bean id="stuService" class="demo.service.impl.StudentServiceImpl">  
  5.         <property name="stuDao" ref="stuDao"/>  
  6.     </bean>  
  7. </beans>  

web.xml 

Java代码  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  5.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  6.     <welcome-file-list>  
  7.         <welcome-file>index.jsp</welcome-file>  
  8.     </welcome-file-list>  
  9.     <servlet>  
  10.         <servlet-name>demo2</servlet-name>  
  11.         <servlet-class>  
  12.             org.springframework.web.servlet.DispatcherServlet  
  13.         </servlet-class>  
  14.         <init-param>  
  15.             <param-name>contextConfigLocation</param-name>  
  16.             <param-value>/WEB-INF/classes/spring/*.xml</param-value>  
  17.         </init-param>  
  18.   
  19.         <load-on-startup>1</load-on-startup>  
  20.     </servlet>  
  21.     <servlet-mapping>  
  22.         <servlet-name>demo2</servlet-name>  
  23.         <url-pattern>*.do</url-pattern>  
  24.     </servlet-mapping>  
  25.     <!-- 处理乱码 -->  
  26.     <filter>  
  27.         <filter-name>encodingFilter</filter-name>  
  28.         <filter-class>  
  29.             org.springframework.web.filter.CharacterEncodingFilter  
  30.         </filter-class>  
  31.         <init-param>  
  32.             <param-name>encoding</param-name>  
  33.             <param-value>utf-8</param-value>  
  34.         </init-param>  
  35.         <init-param>  
  36.             <param-name>forceEncoding</param-name>  
  37.             <param-value>true</param-value>  
  38.         </init-param>  
  39.     </filter>  
  40.     <filter-mapping>  
  41.         <filter-name>encodingFilter</filter-name>  
  42.         <url-pattern>/*</url-pattern>  
  43.     </filter-mapping>  
  44. </web-app>  

================== 
allStudent.jsp 

Java代码  
    1. <%@ page language="java" pageEncoding="utf-8"%>  
    2. <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="e"%>  
    3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
    4. <html>  
    5.     <head>  
    6.         <title>Student列表</title>  
    7.     </head>  
    8.     <table width="50%" border="1">  
    9.         <tr>  
    10.             <td>id</td>  
    11.             <td>姓名</td>  
    12.             <td>性别</td>  
    13.             <td>地址</td>  
    14.             <td>操作</td>  
    15.         </tr>  
    16.         <e:forEach items="${requestScope.stuList}" var="stu">  
    17.             <tr>  
    18.                 <td>${stu.id}</td>  
    19.                 <td>${stu.name}</td>  
    20.                 <td>${stu.sex}</td>  
    21.                 <td>${stu.address}</td>  
    22.                 <td><a href="pre4Update/${stu.id}.do">修改</a>||<a href="delete/${stu.id}/${stu.name}.do">删除</a></td>  
    23.             </tr>  
    24.         </e:forEach>  
    25.     </table>  
    26.     <a href="redir/addStudent.do">添加</a>  
    27.     <body>  
    28.     </body>  
    29. </html> 

转载于:https://www.cnblogs.com/Struts-pring/p/4951702.html

你可能感兴趣的文章
UWP 双向绑定,在ListView中有个TextBox,怎么获取Text的值
查看>>
OpenGL学习-------visual studio 2010配置和第一个OpenGL程序讲解
查看>>
python入门-分类和回归各种初级算法
查看>>
Day4 Python基础之数据类型(三)
查看>>
http状态码
查看>>
执行计划--在存储过程中使用SET对执行计划的影响
查看>>
『科学计算』L0、L1与L2范数_理解
查看>>
有十二个球,大小形状相同。其中一个重量与其他十一个不同,现在要求用一没有砝码的天平称三次找出那个球,并确定特殊球是轻还是重...
查看>>
React学习之State
查看>>
<link rel="icon" href="images/favicon.ico.png" /> 插入网站最上面标题旁的图标
查看>>
mysql binlog配置详解
查看>>
python 下载整个站点
查看>>
三个摘要
查看>>
Java 测试并行编程(三)
查看>>
history for html5
查看>>
Java并发:volatile内存可见性和指令重排
查看>>
java学习面向对象之接口
查看>>
(笔试题)不用除法操作符,实现两个整数的除法
查看>>
oracle 安装需要注意的问题
查看>>
Mysql慢日志
查看>>