1.Data類臨時數據的弊端
我們之前在將Servlet+JSP配合處理請求的過程中 數據庫起到一個存取數據的作用 但是我們之前的案例中 數據是在Data類中臨時定義的 并不是從數據庫中獲取的 這樣做是不好的 因為每一次服務器關閉之后 那么部署在其上的類也會隨著卸載 緊接著和類相掛鉤的靜態內存也會隨著銷毀 更別提實例內存了 所以說再次啟動服務器 數據也就不能復原 所以說數據還是交由數據庫保管 數據庫中存放的數據是在硬盤之中 所以說不會因為服務器的開關而受到影響
2.數據庫存取的好處
前面提到 既然我們自定義臨時數據是有弊端的 那么我們就需要有一個地方來存放我們的數據 而且要求能夠長久的儲存數據 現在有兩個選項:1.文件 2.數據庫 兩者都可以實現將數據存放到服務器硬盤的目的 那么兩者的區別在哪里呢?
我們使用文件存取數據的話 都需要先將數據加載到內存 然后在進行進一步的操作 這是為了提高cpu訪問數據的效率(cpu訪問內存的效率高于硬盤 這與距離有關) 而數據庫相關的存取、查詢操作則是直接訪問硬盤 從整體上來看 直接訪問硬盤的行為在效率上肯定是比先加載到內存在訪問的行為要來得高的 這是數據庫存取數據的第一個好處 即高效的存取、查詢數據
第二個好處就是 數據庫可以對儲存在其內部的多個重復數據減少為一份進行儲存 可以減少重復、冗余的數據
第三個好處則是提高數據的安全性 數據庫進行了加密操作
3.常見數據庫
數據庫可以分成兩類:關系型數據庫、非關系型數據庫
- 關系型數據庫主要有:MySQL、ORACLE等等
- 非關系型數據庫主要有:redis、mongoDB等等
4.MySQL
MySQL是一款開源的關系型數據庫 有社區版(免費)、商業版
- MySQL的下載 我們下載的是MySQL社區版 版本號為5.7 下載鏈接
- MySQL的配置
- 為了防止數據亂碼 所以我們要到數據存放路徑下的my.ini中 修改三處編碼方式 分別是在[client]、[mysql]下加入default-character-set=utf8mb4 、[mysqld]下加入character_set_server=utf8mb4
- 由于修改了my.ini 建議重啟一下mysql 打開任務管理器
- 建議將mysql的bin目錄配置到path中 因為我們很有可能在cmd窗口中使用mysql的一些相關指令并且無需定位到相關位置
下圖表示mysql環境變量配置成功