按正常的開發流程中,對類圖進行開發的時候,所有的時序圖都已經完成了。所以,類圖中的方法是完全的。所以我們可以利用UML圖表工作,將圖轉化為代碼。
但本章中,我們每建一個action就開始進行對接開發,這使得,在給類補充方法后,無法使用工具直接進行代碼的轉換,這時候,就只能手動的補充了。

按上圖,補充代碼如下:
```
package com.mengyunzhi.javaee.server;
...
public class KlassServer {
...
/**
* 獲取klass實體
* @param id 關鍵字
* @return Klass
*/
public static Klass getKlassById(Long id) {
KlassDao klassDao = new KlassDao();
Klass klass = (Klass) klassDao.get(id);
return klass;
}
...
```
# 單元測試
```
@Test
public void getKlassByIdTest() {
Klass klass = KlassServer.getKlassById(1L);
System.out.println(klass);
}
```
啟動測試后,控制臺信息如下:
```
Hibernate: select klass0_.klassId as klassId1_0_1_, klass0_.name as name2_0_1_, klass0_.teacherId as teacherI3_0_1_, teacher1_.teacherId as teacherI1_1_0_, teacher1_.email as email2_1_0_, teacher1_.name as name3_1_0_, teacher1_.password as password4_1_0_, teacher1_.sex as sex5_1_0_, teacher1_.username as username6_1_0_ from Klass klass0_ left outer join Teacher teacher1_ on klass0_.teacherId=teacher1_.teacherId where klass0_.klassId=?
com.mengyunzhi.javaee.entity.Klass@210ab13f
```
有人說,打印出來的klass呢?
這就是:com.mengyunzhi.javaee.entity.Klass@210ab13f
就是由于,在上節中,我們添加完teacher屬性性,將klass實體中的toString方法刪除掉造成的。為了更好的看到返回的具體值,我們在Klass中使用eclipse自帶的方法,生成toString方法。
```
package com.mengyunzhi.javaee.entity;
public class Klass implements IdEntity {
...
@Override
public String toString() {
return "Klass [klassId=" + klassId + ", name=" + name + ", teacher="
+ teacher + "]";
}
...
```
然后保存后,再次進行單元測試
```
Klass [klassId=1, name=一一班, teacher=Teacher [teacherId=1, name=李四, username=lisi, email=lisi@yunzhiclub.com, sex=false, password=234]]
```
此時,我們看到,我們不但獲取了klass的信息,而且與Klass相關聯的Teacher實體信息,也被直接返回了。
- 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
- 第十四章:重構服務層