Project_Erp

ssm項目:制造裝備物聯(lián)及生產(chǎn)管理平臺(ERP項目)

本人負(fù)責(zé)模塊:人員監(jiān)控和系統(tǒng)管理? ? ??



人員監(jiān)管模塊:

? ? ? ? 部門管理分模塊:

? ? ? ? ? ? 需求:實現(xiàn)增刪改查功能

一、 select查詢所有:

????操作流程:

? ? ? ? ? ? ? ? 通過dao層接口的select注解中添加的sql語句,從Database中取出數(shù)據(jù)

? ? ? ? ? ? ? ? ?service層中定義一個包含查詢所有方法的接口,再添加service接口的實現(xiàn)類,實現(xiàn)類中通過@Autowired注解,取一個dao,在實現(xiàn)類中重寫findAll方法;findAll方法中通過調(diào)用dao的方法實現(xiàn)DB中的方法調(diào)取到service層。

前面調(diào)取DB數(shù)據(jù)的步驟可以通過寫測試類判斷成功與否。


二、新增操作

? ? 操作流程:????

? ? ? ? 首先需要響應(yīng)的是點擊增刪改刷新四個按鈕的通用方法,即請求名為add_judge、update_judge、delete_judge,統(tǒng)一響應(yīng)方式為下圖

在每個模塊的controller中都是這么操作,固定格式

點擊添加按鈕后會彈出一個彈窗,顯示的是一個jsp頁面,所以需要添加一個返回department_add字符串的方法,略過;

在彈出的jsp頁面中填寫好我們的部門名稱后就可以執(zhí)行插入數(shù)據(jù)的操作了,總體邏輯是:前臺(直接將提交的數(shù)據(jù)封裝成一個對象)——>Controller用一個方法直接接收其作為參數(shù),再作為serviceImpl的方法,serviceImpl內(nèi)部通過dao的方法判斷其有沒有插入成功。

注意:

此處的dao層和service層的方法的返回值,前者是int,后者是boolean?


dao層的insert方法


serviceImpl內(nèi)的insert方法

為什么能dao層的insert方法是向數(shù)據(jù)庫中插入數(shù)據(jù),卻會返回一個int的數(shù)值類型呢?

? ? 數(shù)據(jù)庫插入數(shù)據(jù)的操作成功,都會返回一個數(shù)值,表示影響了多少行,所以可以以此判斷數(shù)據(jù)插入成功與否。

又因為在前臺傳來的這個請求,它要求的返回值類型為Json,如下圖

要求返回的是鍵值對,需要判斷是否成功往數(shù)據(jù)庫中傳入了參數(shù)、

所以在controller 中的判斷邏輯如下:

通過一個flag來判斷返還的hashmap的取值。當(dāng)然,只要是Json,別忘了ResponseBody注解












技術(shù)難點和碰到的Bug總結(jié)

? ? 問題1.

????????取出的數(shù)據(jù)部分可以正常顯示,部分?jǐn)?shù)據(jù)的值為null

? ? ? ? 適用范圍:所有存在從Database取數(shù)據(jù)的操作

????????原因:JavaBean的成員變量名稱與數(shù)據(jù)庫里表的屬性名不匹配,導(dǎo)致取不出數(shù)據(jù)。

? ? ? ? ? ? 解決辦法:在dao層的取數(shù)據(jù)的方法之前加一個@Results注解,如下圖

圖中id賦值一次為true就行了,column是數(shù)據(jù)庫的字段名,property為JavaBean的成員變量名,建立映射關(guān)系

問題2:

? ??如何在前臺Jsp頁面顯示增刪改查按鈕?如下圖

前臺主界面

解決辦法:

? ? 在這個界面對應(yīng)的controller中 實現(xiàn)查詢所有的方法中添加如下代碼:

? ? 原理未理解,復(fù)習(xí)下httpServletRequest再回來看

表名稱注意修改(此表為department)

問題3:




BUG

Bug1:

@RequestMapping注解正常,方法也正常編寫,但是返回類型為Json數(shù)據(jù)的請求始終報404找不到資源的異常

原因:響應(yīng)請求類型為Json數(shù)據(jù)的方法,想要正常返回一個Json數(shù)據(jù)集,必須在方法上方加上一個注解:@ResponseBody,這樣才能夠正常的返回Json數(shù)據(jù)集

返回值類型用Object和List<E>都是可以的
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 對于java中的思考的方向,1必須要看前端的頁面,對于前端的頁面基本的邏輯,如果能理解最好,不理解也要知道幾點。 ...
    神尤魯?shù)婪?/span>閱讀 901評論 0 0
  • 1.abstract class 和interface 有什么區(qū)別? 抽象類可以有構(gòu)造方法 接口不行 抽象類可以有...
    sunnysans閱讀 964評論 0 1
  • IOC 控制反轉(zhuǎn)容器控制程序?qū)ο笾g的關(guān)系,而不是傳統(tǒng)實現(xiàn)中,有程序代碼之間控制,又名依賴注入。All 類的創(chuàng)建,...
    irckwk1閱讀 1,097評論 0 0
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,017評論 0 11
  • 據(jù)某網(wǎng)蜜講,自由寫作可以舒緩情緒,不限時間不限技巧不限內(nèi)容隨心所欲,想寫什么寫什么。猶豫了很多天要不要開始...
    ElleFang閱讀 197評論 1 0

友情鏈接更多精彩內(nèi)容