依據開發規范,前期我們配合前臺開發,需要根據開發時的測試用例寫入供前臺測試的對接代碼。
# 根據url新建觸發器
http://127.0.0.1:8080/javaee/Klass.json -> com.mengyunzhi.javaee.action.KlassAction execute()
```
package com.mengyunzhi.javaee.action;
public class KlassAction extends Action {
/**
*
*/
private static final long serialVersionUID = 1L;
private String name="";
private int page = 1;
private int pageSize = 5;
private int totalCount = 0;
public int getTotalCount() {
return totalCount;
}
public void setName(String name) {
this.name = name;
}
public void setPage(int page) {
this.page = page;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String execute() {
return SUCCESS;
}
}
```
測試:

## 新建Klass實體
package com.mengyunzhi.javaee.entity;
public class Klass {
private Long id = 1L;
private String name = "一一班";
private Teacher teacher = new Teacher(1L, "張三", "zhangsan", "zhangsan@yunzhiclub.com", true, "123456");
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Teacher getTeacher() {
return teacher;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
單元測試:
```
// 所有的單元測試均位于test文件夾中
package com.mengyunzhi.javaee.entityTest;
import org.junit.Test;
import com.mengyunzhi.javaee.entity.Klass;
public class KlassTest {
@Test
public void Init() {
Klass klass = new Klass();
System.out.println(klass.toString());
}
}
```
測試結果:
```
Klass [id=1, name=一一班, teacher=Teacher [teacherId=1, name=張三, username=zhangsan, email=zhangsan@yunzhiclub.com, sex=true, password=123456]]
```
## 完善觸發器
根據測試用例,我們完善觸發器
```
package com.mengyunzhi.javaee.action;
import java.util.ArrayList;
import java.util.List;
import com.mengyunzhi.javaee.entity.Klass;
public class KlassAction extends Action {
/**
*
*/
private static final long serialVersionUID = 1L;
private String name="";
private int page = 1;
private int pageSize = 5;
private int totalCount = 0;
private List<Klass> klasses = new ArrayList<Klass>();
public List<Klass> getKlasses() {
return klasses;
}
public int getTotalCount() {
return totalCount;
}
public void setName(String name) {
this.name = name;
}
public void setPage(int page) {
this.page = page;
}
public int getPage() {
return this.page;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public String execute() {
int i; // 初始化變量,用于計數
// 測試用例一
if (this.name.equals("") && this.page == 1 && this.pageSize == 3) {
this.totalCount = 7; // 設置總條數
for (i = 0; i < 3; i++) { //循環加入3條信息
this.klasses.add(new Klass());
}
// 測試用例2
} else if (this.name.equals("一") && this.page == 2 && this.pageSize == 2) {
this.totalCount = 4;
for (i = 0; i < 2; i++) {
Klass klass = new Klass();
klass.setName("一班");
this.klasses.add(klass);
}
}
return SUCCESS;
}
}
```
測試:
測試用例一:

```
var jsonData = JSON.parse(responseBody);
tests["code 200"] = jsonData.code === 200;
tests["total count is 7"] = jsonData.totalCount === 7;
tests["kalss length is 3"] = jsonData.klasses.length === 3;
```
測試用例二:

```
var jsonData = JSON.parse(responseBody);
tests["code 200"] = jsonData.code === 200;
tests["total count is 4"] = jsonData.totalCount === 4;
tests["kalss length is 2"] = jsonData.klasses.length === 2;
tests["page is 2"] = jsonData.page === 2;
```
> git checkout -f step12.1.3
- README
- 第一章:準備
- 第二章:Hello World!
- 第一節:查看工程文件
- 第二節:JDK、JRE與環境變量
- 第三節:index.jsp
- 第三章:Hello Struts
- 第一節:Web.xml
- 第二節:單入口
- 第三節:Hello Struts
- 第四節:觸發C層
- 第四章:建立數據表
- 第一節:建立實體類
- 第二節:測試一
- 第三節:測試二
- 第四節:引入Hibernate
- 第五節:配置Hibernate
- 第六節:建立連接
- 第七節:實體類映射數據表
- 第八節:完善數據表
- 第五章:教師管理
- 第一節:增加數據--add
- 第二節:增加數據--save
- 1 獲取傳入數據數據
- 2 數據寫入測試
- 3 對接C層
- 第三節:數據列表
- 1 獲取數據
- 2 重構代碼
- 3 C層對接--初始化
- 4 C層添加數據
- 5 V層顯示數據
- 6 獲取數據庫中數據
- 7 顯示性別
- 8 分頁
- 9 條件查詢
- 第四節:修改數據
- 1 edit
- 2 update
- 第五節:刪除數據
- 第六節:總結
- 第六章:重構C層
- 第一節:繼承ActionSupport類
- 第二節:數據驗證
- 第七章:前臺分離(前臺)
- 第一節:環境搭建
- 第二節:運行環境
- 第三節:共享開發環境
- 第四節:生產環境
- 第八章:前臺開發(前臺)
- 第一節:本地化
- 第二節:教師列表
- 1 引入M層
- 2 模擬后臺返回數據
- 3 C與M對接
- 4 C與V對接
- 第九章:前后臺對接(前后臺)
- 第一節:后臺輸出json(后臺)
- 第二節:對接前臺(全棧)
- 第二節:對接API(前臺)
- 第二節:跨域請求(后臺)
- 第三節:重構代碼(前臺)
- 第十章:重構后臺M層
- 第一節:數據訪問DAO層
- 第二節:項目整體重構
- 第十一章:用戶登陸(前后臺)
- 第一節:制定規范
- 第二節:定制測試用例
- 第三節:后臺輸入測試代碼(后臺)
- 第四節:postman(后臺)
- 第五節:新建用戶登陸模塊(前臺)
- 第六節:代碼重構(前臺)
- 第十二章:班級管理(前后臺)
- 第一節:班級列表
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第二節:Add
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第三節:Save
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第四節:Edit
- 1 原型開發
- 2 制定規范
- 3 后臺對接開發
- 4 前臺對接開發
- 第五節:Update
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第六節:Delete
- 1 制定規范
- 2 后臺對接開發
- 3 前臺對接開發
- 第七節:小結
- 第十三章:班級管理(API)
- 第一節:ER圖
- 第二節:create
- 1 實體層
- 2 dao層
- 3 service(server)層
- 4 action層
- 第三節:ManyToOne
- 第四節:Read
- 1 service(server)層
- 2 action層
- 第五節:update
- 1 service(server)層
- 2 action層
- 第六節:update
- 第十四章:重構服務層