學習SpringMVC——你們要的REST風格的CRUD來了

如果說前面是準備調料,洗菜,切菜,擺盤,那麼今天就來完整的上道菜,主要說的是基於REST風格實現數據的增刪改查(CRUD)操作。

用料 

  entity:Employee + Department

  對於這樣的實體類大家肯定很熟悉,一個Employee就是一個員工,一個Department就是一個部門,一個員工只屬於一個部門,一個部門可以對應多個員工。

  Employee.java


  Department.java

+ View Code

  

  dao層:除了entity層,我們還需要有dao層,用於對於entity的增刪改查的操作,這裏對應的有EmployeeDao和DepartmentDao下載

  EmployeeDao.java

+ View Code

該dao提供了:1. 添加保存一個employee——save方法

       2. 獲取所有員工信息——getAll方法

       3. 根據指定員工id查找員工——get方法

       4. 根據指定員工id刪除員工——delete方法

 

  DepartmentDao.java

+ View Code

  該dao提供了:1. 查找所有部門信息——getDepartments

       2. 根據指定id查找相應的部門信息——getDepartment

 

  另外這裏需要用到的所有jar包都在這裏下載

 

  用料齊活了, 就開始做菜了,要做的分別是REST清蒸C(添加記錄)、REST油炸R(查詢記錄)、REST紅燒U(更新記錄)和REST水煮D(刪除記錄)。

 

1. 查詢記錄

  這個很簡單,跟前幾篇介紹的套路差不多,新建一個index.jsp,放入一個用於查詢的超鏈接下載

1
<a href="emps">list all employees</a><br/>

 

相應的在Handler中需要添加映射支持,這裏新建一個EmployeeHandler類

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.jackie.springmvc.crud.handlers;
 
import java.util.Map;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.jackie.springmvc.crud.dao.EmployeeDao;
 
@Controller
public class EmployeeHandler {
     
    @Autowired
    private EmployeeDao employeeDao;
     
    @RequestMapping("/emps")
    public String list(Map<String, Object> map){
        map.put("employees", employeeDao.getAll());
        return "list";
    }
 
}

注意

  這裏RequestMapping中沒有指明RequestMethod的請求類型,默認是GET方式。

 

  最終我們需要將查詢的數據解析出來放到頁面上,這個頁面就是list.jsp

  這裏通過表格的方式顯示,表格的每一行顯示一個員工記錄。

  如果Handler層沒有傳入employee,則顯示“沒有員工信息”。

  如果從Handler層傳入查詢到的employee的信息,則通過遍歷的方式查詢每條記錄並顯示在對應的表格中。

 

 

  結果如下:下載

  這裏查詢了所有的員工信息,爲簡便起見,這裏的員工信息並不是從數據庫中讀取的,而是在EmployeeDao中通過靜態模塊聲明構造的,將每個員工信息放入一個map集合中。

 

2. 添加記錄

  添加記錄即在原有的數據集合基礎上,再新建一個員工信息,我們需要爲員工的每個屬性填充值,所以我們需要一個頁面來爲這些字段賦值,這個頁面就叫input.jsp。下載

  添加員工信息的入口鏈接就放在list.jsp中

1
<a href = "emp">add new employee</a><br/>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章