Java中如何實現文本框中輸入的數據通過數據庫保存?

1 個回答
EmacserVimer
2019-06-20

此問題應該不是很難,只要練習過一些Java項目就能做到心中有數。下面簡單介紹一下實踐過程,希望對你有所啟示。

  • 前端實現

文本框部分屬於前端頁面可視化部分,不管你是用JSP,還是FreeMarker,亦或是Thymeleaf,更或著一些前端框架都可以很快實現。前端接受文本數據可以根據實際情況而定標籤類型,如果一行就能滿足需求,那麼直接使用text類型的input標籤即可;如果是多行數據,就使用textarea標籤,textarea標籤是定義多行的文本輸入控件,理論上textarea文本區中可容納無限數量的文本數據。這樣接受文本信息的載體就有了。Java中如何實現文本框中輸入的數據通過數據庫保存?

  • 前後端數據交互

前後端數據交流可以使用到jQuery ajax、axios和fetch等方式實現。不過需要注意的是,前後端分離開發的情況下需要規避同源策略問題實現跨域請求。這裡以axios方式為例,如果我們想讓前端分離項目請求到後端服務器,那麼就需要在後端實現了WebMvcConfigurer接口的配置類中重寫addCorsMappings()方法,這樣就能解決跨域問題。如下圖所示:Java中如何實現文本框中輸入的數據通過數據庫保存?

如果是前後端未分離項目,那麼就不要關心跨域和同源策略問題了,我們直接根據項目的相對路徑來獲取靜態資源,根據控制層中RequestMapping的URL映射來做相應請求。

  • 後端處理

在通過jQuery ajax、axios和fetch等方式將數據傳輸到控制層後,我們根據前端所給數據格式,如FormData形式、URL參數格式或Json數據格式等來做相應處理接受數據,這裡就不展開權限控制(如cookie、session、token和jwt等)和加解密處理相關介紹。

然後可以根據後端經典項目框架SSM來到服務層。在服務層需要處理一系列業務,就會對很多數據庫或數據表結構進行操作,從而在這個曾經中會Autowired或Resource一些數據操作接口。在此過程中將控制層接受到數據經過一系列處理轉化成數據庫需要的DO數據結構,然後調用數據層接口進行相關操作,如插入、更新、刪除和獲取操作,簡稱CURD,這是面試造火箭的後半部分。Java中如何實現文本框中輸入的數據通過數據庫保存?

對於DAO層,以JPA規範或ORM框架實現方式最為常見,現在很少有直接使用原生JDBC來操作數據庫。除了一些批量處理方式可能會用到,現在面試都不問JDBC了,而是對數據庫中間件、二級緩存、數據庫事務處理等方面考察。常見的關係型數據庫包括Oracle和MySql數據庫,這裡以MySql為例。你可以使用varChar或者text,甚至json的數據類型方式來保存傳入數據,要根據自身情況和數據大小來做相應決策,並不是數據類型承受的信息內容越多就越好。

整體流程和處理邏輯就是這麼簡單,但是最終還是需要自己親身實踐。你的眼睛和大腦說懂了,手不一定能寫出來,編程就是需要多想多練,正所謂好記性不如爛筆頭,練著練著就有感覺了。

相關推薦

推薦中...