springmvc之使用RESTFUL—CRUD(creat-read-update-delete)——后端版

一、搭建环境

1、配置pom.xml文件

  1 <?xml version="1.0" encoding="UTF-8"?>
  2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  4
  5     <modelVersion>4.0.0</modelVersion>
  6
  7     <groupId>com.wn</groupId>
  8     <artifactId>forth-ssmm</artifactId>
  9     <version>1.0-SNAPSHOT</version>
 10     <name>forth-ssmm</name>
 11     <packaging>war</packaging>
 12
 13     <properties>
 14         <java.version>1.8</java.version>
 15         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 16         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 17         <spring.version>4.2.4.RELEASE</spring.version>
 18         <mybatis-spring.version>1.2.2</mybatis-spring.version>
 19         <mybatis.version>3.2.8</mybatis.version>
 20         <servlet-api.version>3.1.0</servlet-api.version>
 21         <velocity.version>1.7</velocity.version>
 22         <velocity-tools.version>2.0</velocity-tools.version>
 23         <jackson.version>2.6.4</jackson.version>
 24
 25     </properties>
 26
 27     <!-- 引入实际依赖 -->
 28     <dependencies>
 29         <!-- servlet -->
 30         <dependency>
 31             <groupId>javax.servlet</groupId>
 32             <artifactId>javax.servlet-api</artifactId>
 33             <version>${servlet-api.version}</version>
 34             <scope>provided</scope>
 35         </dependency>
 36
 37         <!-- spring -->
 38         <dependency>
 39             <groupId>org.springframework</groupId>
 40             <artifactId>spring-core</artifactId>
 41             <version>${spring.version}</version>
 42         </dependency>
 43         <dependency>
 44             <groupId>org.springframework</groupId>
 45             <artifactId>spring-beans</artifactId>
 46             <version>${spring.version}</version>
 47         </dependency>
 48         <dependency>
 49             <groupId>org.springframework</groupId>
 50             <artifactId>spring-context</artifactId>
 51             <version>${spring.version}</version>
 52         </dependency>
 53         <dependency>
 54             <groupId>org.springframework</groupId>
 55             <artifactId>spring-web</artifactId>
 56             <version>${spring.version}</version>
 57         </dependency>
 58         <dependency>
 59             <groupId>org.springframework</groupId>
 60             <artifactId>spring-webmvc</artifactId>
 61             <version>${spring.version}</version>
 62         </dependency>
 63         <dependency>
 64             <groupId>org.springframework</groupId>
 65             <artifactId>spring-jdbc</artifactId>
 66             <version>${spring.version}</version>
 67         </dependency>
 68         <!-- 使用json必需的三个包 -->
 69         <dependency>
 70             <groupId>com.fasterxml.jackson.core</groupId>
 71             <artifactId>jackson-annotations</artifactId>
 72             <version>${jackson.version}</version>
 73         </dependency>
 74         <dependency>
 75             <groupId>com.fasterxml.jackson.core</groupId>
 76             <artifactId>jackson-core</artifactId>
 77             <version>${jackson.version}</version>
 78         </dependency>
 79         <dependency>
 80             <groupId>com.fasterxml.jackson.core</groupId>
 81             <artifactId>jackson-databind</artifactId>
 82             <version>${jackson.version}</version>
 83         </dependency>
 84         <!-- 这个是使用velocity的必备包 -->
 85         <dependency>
 86             <groupId>org.springframework</groupId>
 87             <artifactId>spring-context-support</artifactId>
 88             <version>${spring.version}</version>
 89             <scope>compile</scope>
 90         </dependency>
 91         <!-- mysql -->
 92         <dependency>
 93             <groupId>mysql</groupId>
 94             <artifactId>mysql-connector-java</artifactId>
 95             <version>5.1.27</version>
 96             <scope>runtime</scope>
 97         </dependency>
 98         <!-- 数据源 -->
 99         <dependency>
100             <groupId>org.apache.tomcat</groupId>
101             <artifactId>tomcat-jdbc</artifactId>
102             <version>7.0.47</version>
103         </dependency>
104         <!-- mybatis -->
105         <dependency>
106             <groupId>org.mybatis</groupId>
107             <artifactId>mybatis</artifactId>
108             <version>${mybatis.version}</version>
109         </dependency>
110         <dependency>
111             <groupId>org.mybatis</groupId>
112             <artifactId>mybatis-spring</artifactId>
113             <version>${mybatis-spring.version}</version>
114         </dependency>
115         <!-- velocity -->
116         <dependency>
117             <groupId>org.apache.velocity</groupId>
118             <artifactId>velocity</artifactId>
119             <version>${velocity.version}</version>
120         </dependency>
121         <dependency>
122             <groupId>org.apache.velocity</groupId>
123             <artifactId>velocity-tools</artifactId>
124             <version>${velocity-tools.version}</version>
125         </dependency>
126         <!-- import lombok -->
127         <dependency>
128             <groupId>org.projectlombok</groupId>
129             <artifactId>lombok</artifactId>
130             <version>1.16.8</version>
131             <scope>provided</scope>
132         </dependency>
133     </dependencies>
134     <build>
135         <plugins>
136             <plugin>
137                 <groupId>org.apache.maven.plugins</groupId>
138                 <artifactId>maven-compiler-plugin</artifactId>
139                 <configuration>
140                     <source>1.8</source>
141                     <target>1.8</target>
142                     <encoding>utf-8</encoding>
143                 </configuration>
144             </plugin>
145         </plugins>
146     </build>
147 </project>

2、配置web.xml

 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 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 5     <!-- 配置DispatcherServlet -->
 6     <!-- 配置DispatcherServlet的作用是:如果在某个方法上配置了@RequestMapping("/helloworld"),
 7         当浏览器访问helloworld时,DispatcherServlet会将这个请求发送给@RequestMapping("/helloworld")
 8         所在的方法上,执行这个方法 -->
 9     <servlet>
10         <servlet-name>SpringDispatcherServlet</servlet-name>
11         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
12         <!-- 配置DispatcherServlet的一个初始化参数:配置springMVC配置文件的位置和名称 -->
13         <!-- 我们也可以不适用contextConfigLocation来配置springmvc配置文件的位置和名称,可以使用默认的, 默认的配置文件为:/WEB-IFN/<servlet-name>-servlet.xml -->
14         <init-param>
15             <param-name>contextConfigLocation</param-name>
16             <param-value>classpath*:springmvc.xml</param-value>
17         </init-param>
18         <!--SpringDispatcherServlet在当前web应用被加载的时候被创建,而不是等第一次请求的时候被创建 -->
19         <load-on-startup>1</load-on-startup>
20     </servlet>
21     <servlet-mapping>
22         <servlet-name>SpringDispatcherServlet</servlet-name>
23         <url-pattern>/</url-pattern>  <!-- 可以应答所有请求 -->
24     </servlet-mapping>
25
26     <welcome-file-list>
27         <welcome-file>/index.jsp</welcome-file>
28     </welcome-file-list>
29 </web-app>

3、配置springmvc.xml

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
 4     xmlns:mvc="http://www.springframework.org/schema/mvc"
 5     xsi:schemaLocation="http://www.springframework.org/schema/beans
 6                            http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 7                            http://www.springframework.org/schema/context
 8                            http://www.springframework.org/schema/context/spring-context-3.2.xsd
 9                            http://www.springframework.org/schema/mvc
10                            http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">
11     <!-- 配置自动扫描的包 -->
12     <context:component-scan base-package="com.guigu.springmvc.crud"/>
13     <!--  使用json需要启动的配置 -->
14     <mvc:annotation-driven />
15 </beans>

二、创建实体类

1、Department

 1 package com.guigu.springmvc.crud.entities;
 2
 3 public class Department {
 4     /**
 5      * 虽然定义成int型也可以,但是后续要往map中放,如果用int放不进去,尽量用Integer
 6      */
 7     private Integer id;
 8     private String departmentName;
 9
10     public Integer getId() {
11         return id;
12     }
13
14     public void setId(Integer id) {
15         this.id = id;
16     }
17
18     public String getDepartmentName() {
19         return departmentName;
20     }
21
22     public void setDepartmentName(String departmentName) {
23         this.departmentName = departmentName;
24     }
25 /**
26  * 如果没有任何构造器(有参或无参)系统默认提供无参构造器,如果构造了有参构造器,必须构造无参构造器,
27  * 否则测试中Department d = new Department();会报错
28  * Department dm = new Department(1, "AA");(1、属性多的话,不好对应2、如果以后增加属性得重新生成构造器)相当于下面三句话
29  *      Department d = new Department();    (增加属性无需重新生成构造器,只要在后面加属性即可)
30         d.setId(1);
31         d.setDepartmentName("AA");
32  */
33     public Department() {
34
35     }
36 /**
37  * 可以用来赋值
38  */
39     public Department(Integer id, String departmentName) {// 将传进来的参数赋值给属性
40         this.id = id;
41         this.departmentName = departmentName;
42     }
43 }

2、Employee

 1 package com.guigu.springmvc.crud.entities;
 2
 3 public class Employee {
 4     private Integer id;
 5     private String lastName;
 6     private String email;
 7     // 0 female 1 male
 8     private Integer gender;
 9     private Department department;
10
11     public Integer getId() {
12         return id;
13     }
14
15     public void setId(Integer id) {
16         this.id = id;
17     }
18
19     public String getLastName() {
20         return lastName;
21     }
22
23     public void setLastName(String lastName) {
24         this.lastName = lastName;
25     }
26
27     public String getEmail() {
28         return email;
29     }
30
31     public void setEmail(String email) {
32         this.email = email;
33     }
34
35     public Integer getGender() {
36         return gender;
37     }
38
39     public void setGender(Integer gender) {
40         this.gender = gender;
41     }
42
43     public Department getDepartment() {
44         return department;
45     }
46
47     public void setDepartment(Department department) {
48         this.department = department;
49     }
50
51     public Employee(Integer id, String lastName, String email, Integer gender, Department department) {
52         this.id = id;
53         this.lastName = lastName;
54         this.email = email;
55         this.gender = gender;
56         this.department = department;
57     }
58
59     @Override
60     public String toString() {
61         return "Employee [id=" + id + ", lastName=" + lastName + ", email=" + email + ", gender=" + gender
62                 + ", department=" + department + "]";
63     }
64
65     public Employee() {
66
67     }
68 }

三、创建DAO

1、DepartmentDao

 1 package com.guigu.springmvc.crud.dao;
 2
 3 import java.util.Collection;
 4 import java.util.HashMap;
 5 import java.util.Map;
 6
 7 import org.springframework.stereotype.Repository;
 8
 9 import com.guigu.springmvc.crud.entities.Department;
10
11 @Repository
12 public class DepartmentDao {
13     private static Map<Integer, Department> departments = null;
14     static {
15         departments = new HashMap<Integer, Department>();
16         departments.put(101, new Department(101, "D-AA"));
17         departments.put(102, new Department(102, "D-BB"));
18         departments.put(103, new Department(103, "D-CC"));
19         departments.put(104, new Department(104, "D-DD"));
20         departments.put(105, new Department(105, "D-EE"));
21     }
22
23     public Collection<Department> getDepartments() {//显示所有部门
24         return departments.values();
25     }
26
27     public Department getDepartment(Integer id) { //根据id获取部门
28         return departments.get(id);
29     }
30 }

2、EmployeeDao

 1 package com.guigu.springmvc.crud.dao;
 2
 3 import java.util.Collection;
 4 import java.util.HashMap;
 5 import java.util.Map;
 6
 7 import org.springframework.beans.factory.annotation.Autowired;
 8 import org.springframework.stereotype.Repository;
 9
10 import com.guigu.springmvc.crud.entities.Department;
11 import com.guigu.springmvc.crud.entities.Employee;
12
13 @Repository
14 public class EmployeeDao {
15     public static Map<Integer, Employee> employees = null;
16     @Autowired
17     private DepartmentDao departmentDao;
18     static {
19         employees = new HashMap<Integer, Employee>();
20         employees.put(1001, new Employee(1001, "E-AA", "[email protected]", 1, new Department(101, "D-AA")));
21         employees.put(1002, new Employee(1002, "E-BB", "[email protected]", 1, new Department(102, "D-BB")));
22         employees.put(1003, new Employee(1003, "E-CC", "[email protected]", 0, new Department(103, "D-CC")));
23         employees.put(1004, new Employee(1004, "E-DD", "[email protected]", 0, new Department(104, "D-DD")));
24         employees.put(1005, new Employee(1005, "E-EE", "[email protected]", 1, new Department(105, "D-EE")));
25     }
26     public static Integer initId = 1006;
27
28     public void save(Employee employee) {
29         if (employee.getId() == null) {
30             employee.setId(initId++);
31         }
32         /*
33          * employee.setDepartment(departmentDao.getDepartment(employee.getDepartment().getId()));
34          * 等价于
35          * Department d1 =employee.getDepartment();
36          * Integer id = d1.getId();
37            Department department = departmentDao.getDepartment(id);
38          * employee.setDepartment(department);
39          */
40         Department d1 = employee.getDepartment();
41         Integer id = d1.getId();
42         Department department = departmentDao.getDepartment(id);
43         employee.setDepartment(department);
44
45         employees.put(employee.getId(), employee);
46     }
47
48     public Collection<Employee> getAll() {
49         return employees.values();
50     }
51
52     public Employee get(Integer id) {
53         return employees.get(id);
54     }
55
56     public void delete(Integer id) {
57         employees.remove(id);
58     }
59 }

四、创建EmployeeHandler,实现增、删、改、查

1、添加员工信息

 1 package com.guigu.springmvc.crud.handlers;
 2
 3 import java.util.Map;
 4
 5 import org.springframework.beans.factory.annotation.Autowired;
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.web.bind.annotation.RequestMapping;
 8 import org.springframework.web.bind.annotation.RequestMethod;
 9 import org.springframework.web.bind.annotation.RequestParam;
10 import org.springframework.web.bind.annotation.ResponseBody;
11
12 import com.guigu.springmvc.crud.dao.EmployeeDao;
13 import com.guigu.springmvc.crud.entities.Department;
14 import com.guigu.springmvc.crud.entities.Employee;
15
16 @Controller
17 public class EmployeeHandler {
18     @Autowired
19     private EmployeeDao employeeDao;
20
21     @RequestMapping(value="/addEmployee",method=RequestMethod.GET)
22     @ResponseBody
23     public Employee addEmployee(@RequestParam("id") Integer id,
24                             @RequestParam("name") String lastName,
25                             @RequestParam("email") String email,
26                             @RequestParam("gender") Integer gender,
27                             @RequestParam("did") Integer did,
28                             @RequestParam("dname") String dname) {
29         Employee employee = new Employee();
30         employee.setId(id);
31         employee.setLastName(lastName);
32         employee.setEmail(email);
33         employee.setGender(gender);
34         Department department = new Department(did, dname);
35         employee.setDepartment(department);
36         Map<Integer, Employee> es = EmployeeDao.employees;
37         es.put(id, employee);
38
39         return employeeDao.get(id);
40     }
41 }

测试方式:在浏览器中输入:http://localhost:8080/forth-ssmm/addEmployee?id=1&name=hua&[email protected]&gender=0&did=009&dname=cto

运行结果:

翻译为jason格式:

 1 {
 2     "id": 1,
 3     "lastName": "hua",
 4     "email": "[email protected]",
 5     "gender": 0,
 6     "department": {
 7         "id": 9,
 8         "departmentName": "cto"
 9     }
10 }

2、删除员工信息

 1 package com.guigu.springmvc.crud.handlers;
 2
 3 import java.util.Collection;
 4 import java.util.Map;
 5
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RequestMethod;
10 import org.springframework.web.bind.annotation.RequestParam;
11 import org.springframework.web.bind.annotation.ResponseBody;
12
13 import com.guigu.springmvc.crud.dao.EmployeeDao;
14 import com.guigu.springmvc.crud.entities.Department;
15 import com.guigu.springmvc.crud.entities.Employee;
16
17 @Controller
18 public class EmployeeHandler {
19     @Autowired
20     private EmployeeDao employeeDao;
21
22
23     @RequestMapping(value="/addEmployee",method=RequestMethod.GET)
24     @ResponseBody
25     public Employee addEmployee(@RequestParam("id") Integer id,
26                             @RequestParam("name") String lastName,
27                             @RequestParam("email") String email,
28                             @RequestParam("gender") Integer gender,
29                             @RequestParam("did") Integer did,
30                             @RequestParam("dname") String dname) {
31         Employee employee = new Employee();
32         employee.setId(id);
33         employee.setLastName(lastName);
34         employee.setEmail(email);
35         employee.setGender(gender);
36         Department department = new Department(did, dname);
37         employee.setDepartment(department);
38         Map<Integer, Employee> es = EmployeeDao.employees;
39         es.put(id, employee);
40
41         return employeeDao.get(id);
42     }
43      @RequestMapping(value="/deleteEmployee", method=RequestMethod.GET)
44      @ResponseBody
45     public Collection<Employee> deleteEmployee(@RequestParam("id") Integer id){
46 //        Map<Integer, Employee> es = EmployeeDao.employees;
47 //        es.remove(id);
48         employeeDao.delete(id);
49
50        return employeeDao.getAll();
51    }
52
53 }

运行结果:

翻译json格式:

 1 [
 2     {
 3         "id": 1002,
 4         "lastName": "E-BB",
 5         "email": "[email protected]",
 6         "gender": 1,
 7         "department": {
 8             "id": 102,
 9             "departmentName": "D-BB"
10         }
11     },
12     {
13         "id": 1003,
14         "lastName": "E-CC",
15         "email": "[email protected]",
16         "gender": 0,
17         "department": {
18             "id": 103,
19             "departmentName": "D-CC"
20         }
21     },
22     {
23         "id": 1004,
24         "lastName": "E-DD",
25         "email": "[email protected]",
26         "gender": 0,
27         "department": {
28             "id": 104,
29             "departmentName": "D-DD"
30         }
31     },
32     {
33         "id": 1005,
34         "lastName": "E-EE",
35         "email": "[email protected]",
36         "gender": 1,
37         "department": {
38             "id": 105,
39             "departmentName": "D-EE"
40         }
41     }
42 ]

3、修改员工信息

 1 package com.guigu.springmvc.crud.handlers;
 2
 3 import java.util.Collection;
 4 import java.util.Map;
 5
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9 import org.springframework.web.bind.annotation.RequestMethod;
10 import org.springframework.web.bind.annotation.RequestParam;
11 import org.springframework.web.bind.annotation.ResponseBody;
12
13 import com.guigu.springmvc.crud.dao.EmployeeDao;
14 import com.guigu.springmvc.crud.entities.Department;
15 import com.guigu.springmvc.crud.entities.Employee;
16
17 @Controller
18 public class EmployeeHandler {
19     @Autowired
20     private EmployeeDao employeeDao;
21
22
23     @RequestMapping(value="/addEmployee",method=RequestMethod.GET)
24     @ResponseBody
25     public Employee addEmployee(@RequestParam("id") Integer id,
26                             @RequestParam("name") String lastName,
27                             @RequestParam("email") String email,
28                             @RequestParam("gender") Integer gender,
29                             @RequestParam("did") Integer did,
30                             @RequestParam("dname") String dname) {
31         Employee employee = new Employee();
32         employee.setId(id);
33         employee.setLastName(lastName);
34         employee.setEmail(email);
35         employee.setGender(gender);
36         Department department = new Department(did, dname);
37         employee.setDepartment(department);
38         Map<Integer, Employee> es = EmployeeDao.employees;
39         es.put(id, employee);
40
41         return employeeDao.get(id);
42     }
43     @RequestMapping(value="/updateEmployee",method=RequestMethod.GET)
44          @ResponseBody
45          public Collection<Employee> updateEmployee(@RequestParam("id") Integer id,
46                                     @RequestParam("email") String email){
47              Employee employee = employeeDao.get(id);
48              employee.setEmail(email);
49              Map<Integer, Employee> es = EmployeeDao.employees;
50              es.put(id, employee);
51              return employeeDao.getAll();
52          }
53 }

运行结果:

翻译json格式:

 1 [
 2     {
 3         "id": 1001,
 4         "lastName": "E-AA",
 5         "email": "[email protected]",
 6         "gender": 1,
 7         "department": {
 8             "id": 101,
 9             "departmentName": "D-AA"
10         }
11     },
12     {
13         "id": 1002,
14         "lastName": "E-BB",
15         "email": "[email protected]",
16         "gender": 1,
17         "department": {
18             "id": 102,
19             "departmentName": "D-BB"
20         }
21     },
22     {
23         "id": 1003,
24         "lastName": "E-CC",
25         "email": "[email protected]",
26         "gender": 0,
27         "department": {
28             "id": 103,
29             "departmentName": "D-CC"
30         }
31     },
32     {
33         "id": 1004,
34         "lastName": "E-DD",
35         "email": "[email protected]",
36         "gender": 0,
37         "department": {
38             "id": 104,
39             "departmentName": "D-DD"
40         }
41     },
42     {
43         "id": 1005,
44         "lastName": "E-EE",
45         "email": "[email protected]",
46         "gender": 1,
47         "department": {
48             "id": 105,
49             "departmentName": "D-EE"
50         }
51     }
52 ]

4、查找员工信息

 1 package com.guigu.springmvc.crud.handlers;
 2
 3 import java.util.Collection;
 4 import java.util.Map;
 5
 6 import org.springframework.beans.factory.annotation.Autowired;
 7 import org.springframework.stereotype.Controller;
 8 import org.springframework.web.bind.annotation.PathVariable;
 9 import org.springframework.web.bind.annotation.RequestMapping;
10 import org.springframework.web.bind.annotation.RequestMethod;
11 import org.springframework.web.bind.annotation.RequestParam;
12 import org.springframework.web.bind.annotation.ResponseBody;
13
14 import com.guigu.springmvc.crud.dao.EmployeeDao;
15 import com.guigu.springmvc.crud.entities.Department;
16 import com.guigu.springmvc.crud.entities.Employee;
17
18 @Controller
19 public class EmployeeHandler {
20     @Autowired
21     private EmployeeDao employeeDao;
22
23
24     @RequestMapping(value="/addEmployee",method=RequestMethod.GET)
25     @ResponseBody
26     public Employee addEmployee(@RequestParam("id") Integer id,
27                             @RequestParam("name") String lastName,
28                             @RequestParam("email") String email,
29                             @RequestParam("gender") Integer gender,
30                             @RequestParam("did") Integer did,
31                             @RequestParam("dname") String dname) {
32         Employee employee = new Employee();
33         employee.setId(id);
34         employee.setLastName(lastName);
35         employee.setEmail(email);
36         employee.setGender(gender);
37         Department department = new Department(did, dname);
38         employee.setDepartment(department);
39         Map<Integer, Employee> es = EmployeeDao.employees;
40         es.put(id, employee);
41
42         return employeeDao.get(id);
43     }
44     @RequestMapping(value="/getEmployee/{id}",method=RequestMethod.GET)
45          @ResponseBody
46          public Employee getEmployee(@PathVariable Integer id){
47              return employeeDao.get(id);
48          }
49
50          @RequestMapping(value="/getAllEmployee",method=RequestMethod.GET)
51          @ResponseBody
52          public Collection<Employee> getAllEmployee(){
53              return employeeDao.getAll();
54          }
55      }

运行结果:

注:由于此方法将id参数写入路径中,所以在测试时,要将id直接放入地址中即可。

翻译json格式:

 1 {
 2     "id": 1001,
 3     "lastName": "E-AA",
 4     "email": "[email protected]",
 5     "gender": 1,
 6     "department": {
 7         "id": 101,
 8         "departmentName": "D-AA"
 9     }
10 }

 1 [
 2     {
 3         "id": 1001,
 4         "lastName": "E-AA",
 5         "email": "[email protected]",
 6         "gender": 1,
 7         "department": {
 8             "id": 101,
 9             "departmentName": "D-AA"
10         }
11     },
12     {
13         "id": 1002,
14         "lastName": "E-BB",
15         "email": "[email protected]",
16         "gender": 1,
17         "department": {
18             "id": 102,
19             "departmentName": "D-BB"
20         }
21     },
22     {
23         "id": 1003,
24         "lastName": "E-CC",
25         "email": "[email protected]",
26         "gender": 0,
27         "department": {
28             "id": 103,
29             "departmentName": "D-CC"
30         }
31     },
32     {
33         "id": 1004,
34         "lastName": "E-DD",
35         "email": "[email protected]",
36         "gender": 0,
37         "department": {
38             "id": 104,
39             "departmentName": "D-DD"
40         }
41     },
42     {
43         "id": 1005,
44         "lastName": "E-EE",
45         "email": "[email protected]",
46         "gender": 1,
47         "department": {
48             "id": 105,
49             "departmentName": "D-EE"
50         }
51     }
52 ]

注:直接在浏览器中测试时,请求方式只能用GET,正常情况下,删除的请求方式是DELETE,更新的请求方式是PUT

时间: 2024-11-07 13:13:42

springmvc之使用RESTFUL—CRUD(creat-read-update-delete)——后端版的相关文章

springMVC+json构建restful风格的服务

首先.要知道什么是rest服务,什么是rest服务呢? REST(英文:Representational State Transfer,简称REST)描写叙述了一个架构样式的网络系统.比方 web 应用程序. 它首次出如今 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之中的一个. 在眼下主流的三种Web服务交互方案中.REST相比于SOAP(Simple Object Access protocol,简单对象訪问协议)以及XML-RPC更加简单明了,不管

学习SpringMVC(十五)之CRUD操作

使用SpringMVC完成相应的CRUD操作,静态数据来模仿从数据库中取数据. 下面从创建的类说起,一共定义了5个类,分类是DepartmentDao,EmployeeDao,Department,Employee,EmployeeHandler 代码如下: package com.cgf.springmvc.crud.dao; import java.util.Collection; import java.util.HashMap; import java.util.Map; import

数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <大纲> 数据库编程3 Oracle 子查询 insert update delete 事务 回收站 字段操作 企业级项目案例 实验所用数据表 子查询,解决一步不能求解 查询工资比scott高的员工信息: 子查询知识体系搭建: 解释3,查询部门是sales的员工信息: 方法1:子查询 [方法2]:多表: 优化考虑: 解释4[select],只能放单行子查询 解释4[from] 考题:显示员工姓名,薪水 解释

LINQ体验(9)——LINQ to SQL语句之Insert/Update/Delete操作

我们继续讲解LINQ to SQL语句,这篇我们来讨论Insert/Update/Delete操作.这个在我们的程序中最为常用了.我们直接看例子. Insert/Update/Delete操作 插入(Insert) 1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. NorthwindDataContext db = new NorthwindDataContext(); var newCustomer

如何判断一条sql(update,delete)语句是否执行成功

如何判断一条sql(update,delete)语句是否执行成功 catch  (SQLException    e)  {  }  catch不到错误应该就成功了.   ===================================================================== Statement对象提供了三种执行sql语句的方法.  1.ResultSet  executeQuery(String  sql)       执行查询语句,如ResultSet  r

附4、MDT 2013 Update 1批量部署-升级到MDT 2013 UPDATE 1 8298版

MDT 2013 UPDATE 1 8298版已经在本月推出,取代原有的8290版原始版. 原有MDT 2013 UPDATE 1 6.3.8290.1000版 最新的更新版8298版,可以全新安装,也可以在原有版本上升级.目前网络上已经无法下载到原始版本8290版. 下面是新版升级过程: 一.点击安装新版本 接受许可协议 选择安装内容 是否参加改进计划,感觉没多大用处,随意选吧 开始安装 完成新版安装任务 二.更新共享文件夹的启动镜像 查看新版版本号 无法打开原有的共享文件夹 先对共享文件夹进

[下载] VS 2013 Update 4 &amp; 社群版 (Visual Studio Community) &amp; VS 2015 Preview预览版

这是我的备份,原文请看http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/13/vs2013_update4_community_vs2015_preview_download.aspx [下载] VS 2013 Update 4 & 社群版 (Visual Studio Community) & VS 2015 Preview预览版 Visual Studio 2013 社群版 (VS Community) 简单的说,就是给您开开心

让python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE等请求

这两天在用python的bottle框架开发后台管理系统,接口约定使用RESTful风格请求,前端使用jquery ajax与接口进行交互,使用POST与GET请求时都正常,而Request Method使用PUT或DELETE请求时,直接爆“HTTP Error 405: Method Not Allowed”错误.而ajax提交的Request Method值DELETE也变成了OPTIONS了. 度娘了好多答案,要么说是浏览器不支持,要么说自己重新封装jquery,还有其他的一些方法...

linux下mysql Insert update delete 事务 用户管理

linux下mysql Insert update delete  事务 用户管理 1.INSERT插入语句格式: INSERT INTO tb_name (字段1, 字段2, ...) VALUES (值1,值2, ...)[,(值1, 值2, ...),...]; INSERT INTO 表名 SET 字段1=值1,字段2=值2,...; INSERT INTO 表名 (字段1,字段2,...) SELECT (字段1,字段2,...) FROM 表名 [WHERE 条件]; 2.REPLA