配置開發環境
安裝與配置JDK
檢查電腦是否已經安裝好JDK(Java Development Kit) 是Java開發的核心工具包,需優先安裝。
下載Java開發工具包
- 訪問 Oracle 官網(https://www.oracle.com/java/technologies/downloads/)或 OpenJDK 分發平台(如 Adoptium,推薦,免費開源)。
- Windows:雙擊安裝包,按提示操作,建議自定義安裝路徑(如
D:\Program Files\Java\jdk1.8.0_301),避免中文或空格路徑。 - macOS:雙擊 .dmg 文件,拖拽到 Applications 文件夾,或使用命令行工具(如 Homebrew:
brew install openjdk@11)。 - Linux:通過包管理器(如 Ubuntu 用
sudo apt install openjdk-11-jdk),或解壓 .tar.gz 到指定目錄(如/usr/local/jdk11)。
配置JDK環境變量(Windows)
- 打開“控制面板” -> “系統和安全” -> “系統”。
- 點擊“高級系統設置”鏈接,打開“系統屬性”窗口。
- 在“系統屬性”窗口中,點擊“環境變量”按鈕。
- 在“環境變量”窗口中,找到“系統變量”部分,點擊“新建”按鈕。
- 輸入變量名為
JAVA_HOME,變量值為JDK的安裝路徑(例如:C:\Program Files\Java\jdk17)。 - 找到“系統變量”中的“Path”變量,點擊“編輯”按鈕。
- 在“編輯環境變量”窗口中,點擊“新建”按鈕。
- 輸入變量值為
%JAVA_HOME%\bin。 - 依次點擊“確定”保存所有設置。
驗證安裝是否成功:
打開命令提示符或終端窗口,並運行以下命令來驗證JDK是否正確安裝:
java -version
javac -version
如果能正確顯示Java版本信息,就説明JDK安裝成功了
JDK下載安裝及配置環境變量(圖文介紹):
安裝與配置Maven
下載構建工具(Maven)
Spring Boot支持多種構建工具,如Maven和Gradle。你可以選擇其中一個構建工具進行項目的管理和依賴管理。確保已經正確安裝並配置了所選的構建工具。
下載及配置環境變量
下載及安裝Maven
- 訪問官網(https://maven.apache.org/download.cgi),下載最新版二進制壓縮包(如
apache-maven-3.9.6-bin.zip)。 - 將下載的Maven二進制壓縮包解壓到任意位置。建議解壓到一個穩定、不易更改的目錄中,例如
/usr/local或C:\Program Files。
配置Maven環境變量
- 打開“控制面板” -> “系統和安全” -> “系統”。
- 點擊“高級系統設置”鏈接,打開“系統屬性”窗口。
- 在“系統屬性”窗口中,點擊“環境變量”按鈕。
- 在“環境變量”窗口中,找到“系統變量”部分,點擊“新建”按鈕。
- 輸入變量名為
MAVEN_HOME,變量值為Maven解壓所在的絕對路徑(例如:C:\apache-maven-3.8.8)。 - 找到“系統變量”中的“Path”變量,點擊“編輯”按鈕。
- 在“編輯環境變量”窗口中,點擊“新建”按鈕。
- 輸入變量值為
%MAVEN_HOME%\bin。 - 依次點擊“確定”保存所有設置。
檢查是否正確安裝
打開命令提示符或終端窗口,並運行以下命令來驗證Maven是否正確安裝:
mvn -version
如果能正確顯示對應安裝的Maven版本信息即為安裝成功
Maven下載安裝及配置環境變量(圖文介紹):
配置Maven倉庫(優化)
默認倉庫在 C 盤(Windows)或用户目錄,建議修改為自定義路徑並配置國內鏡像(加速依賴下載):
- 打開 Maven 安裝目錄下的
conf/settings.xml - 修改本地倉庫路徑:在
<settings>標籤內添加:<localRepository>D:\maven-repo</localRepository>(替換為自定義路徑)。 - 配置阿里雲鏡像:在
<mirrors>標籤內添加:
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里雲公共倉庫</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
安裝與配置IDEA
下載編譯工具(IDEA)
如果你使用集成開發環境(IDE)進行開發,可以選擇適合你的IDE,並確保已正確配置。一些常用的IDE包括Eclipse、IntelliJ IDEA和Visual Studio Code等
下載及安裝IDEA
- Windows:雙擊安裝包,勾選「64-bit launcher」「Add launchers dir to PATH」(方便命令行啓動),選擇安裝路徑,點擊「Install」。
- macOS:雙擊 .dmg 文件,拖拽到 Applications 文件夾。
- Linux:解壓 .tar.gz 到目錄(如
/opt/idea),運行bin/idea.sh啓動。 - 下載IntelliJ IDEA:訪問JetBrains官方網站:https://www.jetbrains.com/zh-cn/idea/download/?section=windows
- 安裝IntelliJ IDEA:下載完成後,運行安裝包,按照提示完成安裝過程。在安裝嚮導中,你可以選擇安裝位置和其他選項。
- 啓動IntelliJ IDEA:安裝完成後,通過桌面上的快捷方式或啓動菜單中的圖標,打開IntelliJ IDEA。
- 激活IntelliJ IDEA:當IntelliJ IDEA第一次啓動時,會出現歡迎界面。你可以選擇 “Evaluate for free” 或 “Activate” 進行激活。如果你選擇 “Evaluate for free”,你可以免費試用30天。如果你選擇 “Activate”,則需要進行激活。
- 獲取激活碼:你可以通過購買IntelliJ IDEA許可證獲得正式激活碼,或者使用免費的學生許可證。你可以在JetBrains官方網站上獲取詳細信息。
- 輸入激活碼:當你獲得了激活碼後,在激活界面中輸入激活碼,然後點擊 “Activate” 進行激活。
- 完成激活:如果你輸入的激活碼有效且正確,IntelliJ IDEA將完成激活過程。之後,你就可以開始使用IntelliJ IDEA進行開發工作了。
操作文檔(圖文介紹):
配置IDEA
- 關聯 JDK:進入「File → Project Structure → SDKs」,點擊「+」選擇已安裝的 JDK 路徑(如
D:\Program Files\Java\jdk1.8.0_301),IDEA 會自動識別。 - 關聯 Maven:進入「File → Settings → Build, Execution, Deployment → Build Tools → Maven」:
- Maven home path:選擇本地 Maven 安裝路徑(如
D:\Program Files\apache-maven-3.9.6)。 - User settings file:選擇 Maven 的
conf/settings.xml(如D:\Program Files\apache-maven-3.9.6\conf\settings.xml)。 - Local repository:會自動讀取 settings.xml 中的本地倉庫路徑,無需手動修改。
驗證配置
- 打開 IDEA,點擊「New Project」→ 選擇「Maven」,勾選「Create from archetype」(可選,如用
maven-archetype-quickstart創建基礎項目)。 - 填寫項目名稱、路徑,選擇 JDK 版本,點擊「Next」→「Finish」。
- 等待 Maven 初始化完成(右下角進度條),若依賴下載順利(無紅色報錯),則説明 JDK、Maven、IDEA 配置成功。
通過以上步驟,即可完成 Java 開發環境的搭建,開始進行項目開發。
快速搭建SpringBoot項目
創建Maven項目
- 打開 IntelliJ IDEA,選擇 "File" -> "New" -> "Project"。
- 在左側面板中選擇 "Maven",然後點擊 "Next
- 在 "Project SDK" 中選擇你想要使用的 JDK 版本,然後點擊 "Next"。
- 在 對話框中,配置項目的基本信息:
- Group: 設置項目的 GroupId,例如
com.lzzy - Artifact: 設置項目的唯一標識符,一般和項目名相同,例如
my-spring-boot1 - Name: 設置項目的名稱
- Version:使用默認生成的版本號
- 創建完成後會默認打開Maven項目生成的
pom.xml依賴文件。
添加SpringBoot相關依賴
編輯項目的pom.xml文件,添加SpringBoot相關的依賴
<dependencies>
<!-- Spring Boot Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- Spring Boot Web Starter -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
編寫主程序啓動類
創建一個 Spring Boot 應用程序的主類,通常命名為 Application.java,包含 main 方法。這個類將作為應用程序的入口點:(默認項目已經創建好了)
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication//這個註解是標註一個Spring Boot應用
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
創建用於Web請求的處理控制類
創建一個 Spring Boot 應用程序的主類,通常命名為 Application.java,包含 main 方法。這個類將作為應用程序的入口點:(默認項目已經創建好了)
package com.lzzy.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController//該註解為組合註解,等同於Spring中@Controller+@ResponseBody註解
@RequestMapping("/hello")//默認為 GET 方法的路由 /hello
public class HelloController {
@GetMapping//用於定義HTTP GET請求的URL路徑
public String hello() {
return "Hello, world!";
}
}
運行啓動項目
運行 Spring Boot 應用程序:右鍵點擊 Application 類,選擇 "Run Application.main()",或者點擊類上方的綠色三角形按鈕。
打開瀏覽器,並訪問 http://localhost:8080/hello,你將會看到輸出 Hello, world!。
各個層級之間的關係
Dao層是什麼?
DAO(Data Access Object) 模型就是寫一個類,把訪問數據庫的代碼封裝起來,DAO在數據庫與業務邏輯(Service)之間。
Dao是數據訪問層,Dao的作用是封裝對數據庫的訪問:增刪改查,不涉及業務邏輯,只是達到按某個條件獲得指定數據的要求。
採用DAO模式,建立實體類和數據庫表映射(ORM映射)。也就是哪個類對應哪個表,哪個屬性對應哪個列。持久層的目的就是,完成對象數據和關係數據的轉換。
Entity層是什麼?
Entity層,顧名思義就是實體層,放置一個個實體,及其相應的set、get方法。如果想要對數據庫進行一些操作(比如説讀取)的話,就要先寫entity層。
Service層是什麼?
Service被稱作業務邏輯層。顧名思義,它處理邏輯上的業務,而不去考慮具體的實現。
至於為什麼service層要使用接口來定義有以下幾點好處:
在java中接口是多繼承的,而類是單繼承的,如果你需要一個類實現多個service,你用接口可以實現,用類定義service就沒那麼靈活。
要提供不同的數據庫的服務時,我們只需要面對接口用不同的類實現即可,而不用重複地定義類。
Servlet層是什麼?
Servlet(Server Applet)是Java Servlet的簡稱,是為小服務程序或服務連接器,用Java編寫的服務器端程序,主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。
Utils層是什麼?
Util是utiliy的縮寫,是一個多功能、基於工具的包。如字符串處理、日期處理等,(建立數據庫之間的連接),是通用的、與業務無關的,可以獨立出來,可供其他項目使用。
MVC 模型
MVC模式是軟件工程中常見的一種軟件架構模式,該模式把軟件系統(項目)分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller)。
使用MVC模式有很多優勢,例如:簡化後期對項目的修改、擴展等維護操作;使項目的某一部分變得可以重複利用;使項目的結構更加直觀。
具體來講,MVC模式可以將項目劃分為模型(M)、視圖(V)和控制器(C)三個部分,並賦予各個部分不同的功能,方便開發人員進行分組。
模型層(model)
模型持有所有的數據、狀態和程序邏輯。模型接受視圖數據的請求,並返回最終的處理結果。
控制層(controller)
可以理解為一個分發器,用來決定對於視圖發來的請求,需要用哪一個模型來處理,以及處理完後需要跳回到哪一個視圖。即用來連接視圖和模型。和SpringBoot相似,也可將service寫在這個裏面。
實際開發中,通常用控制器對客户端的請求數據進行封裝(如將form表單發來的若干個表單字段值,封裝到一個實體對象中),然後調用某一個模型來處理此請求,最後再轉發請求(或重定向)到視圖(或另一個控制器)。
視圖層(view)
負責界面的顯示,以及與用户的交互功能,例如表單、網頁等。
MVC模式的流程如下:瀏覽器通過視圖向控制器發出請求,控制器接收到請求之後通過選擇模型進行處理,處理完請求以後再轉發到視圖,進行視圖界面的渲染並做出最終響應,如圖所示。
在MVC模式中,視圖View可以用JSP/HTML/CSS實現,模型Model可以用JavaBean實現,而控制器Control就可以用Servlet來實現。
SpringBoot整合持久性框架(Mybatis-plus舉例)
軟件安裝
注意:安裝時需要設置用户名和密碼,請把用户名設置為root,密碼要牢記!
navicat安裝教程
前期準備
- 確認系統要求:確保電腦滿足最低配置,Windows 系統需為 Windows 10 及以上,macOS 需為 macOS 10.15 及以上。
- 獲取安裝包:建議從 Navicat 官方網站(https://www.navicat.com.cn/)下載,避免從第三方不明鏈接獲取,防止惡意軟件。
- 關閉安全軟件:安裝過程中可能會觸發防火牆或殺毒軟件攔截,暫時關閉可減少安裝報錯。
Windows 系統安裝步驟
- 運行安裝包:找到下載的
.exe格式安裝包,雙擊啓動,彈出安裝嚮導後點擊「下一步」。 - 同意許可協議:閲讀用户許可協議,勾選「我接受許可協議中的條款」,點擊「下一步」。
- 選擇安裝路徑:默認路徑為
C:\Program Files\PremiumSoft\Navicat Premium 16,可點擊「瀏覽」自定義路徑(建議避免中文路徑),然後點擊「下一步」。 - 選擇附加任務:根據需求勾選「創建桌面快捷方式」「創建快速啓動欄快捷方式」,點擊「下一步」。
- 開始安裝:確認所有設置無誤後,點擊「安裝」,等待進度條完成,最後點擊「完成」即可。
macOS 系統安裝步驟
- 解壓安裝包:下載的安裝包為
.dmg格式,雙擊打開後,會出現一個包含應用圖標的窗口。 - 拖拽安裝:將「Navicat Premium 16」圖標直接拖拽到右側「應用程序」文件夾中,完成複製安裝。
- 解決 “無法打開” 問題:首次打開若提示 “無法打開,因為它來自身份不明的開發者”,可前往「系統設置 - 隱私與安全性」,在底部點擊「仍要打開」,確認後即可啓動軟件。
激活與初始化
- 啓動軟件:從桌面或應用程序文件夾中打開 Navicat,首次啓動會彈出激活窗口。
- 輸入激活信息:若已購買正版,輸入購買時獲取的「序列號」或「激活碼」,點擊「激活」;若需試用,選擇「試用」,可免費使用 14 天。
- 初始化設置:激活後進入軟件,可選擇默認界面語言(支持中文)、設置默認字體等,完成後即可開始連接數據庫(如 MySQL、SQL Server 等)。
Mybatis-Plus
Mybatis-Plus介紹
Mybatis-plus官網:https://baomidou.com/getting-started/
MyBatis-Plus是基於MyBatis的一個開源持久層框架,它擴展了MyBatis的功能,提供了一些實用的特性和工具,幫助開發人員快速、高效地編寫SQL語句並操作數據庫。
MyBatis-Plus提供了許多實用的功能,包括代碼生成器、分頁插件、性能分析插件、邏輯刪除、多租户支持、樂觀鎖、自動填充、全局配置等等。這些功能都可以簡化開發人員對數據庫的操作,並提高開發效率。
其中,代碼生成器可以幫助開發人員快速生成MyBatis-Plus的實體類、Mapper接口以及xml文件,可以大大減少開發人員的工作量。分頁插件可以處理分頁查詢的各種情況,包括多表連接查詢和子查詢等,使得分頁查詢變得更加方便;性能分析插件可以在開發過程中檢查和改善查詢性能,提高程序的響應速度。
Mybatis特性
- 無侵入:只做增強不做改變,引入它不會對現有工程產生影響,如絲般順滑
- 損耗小:啓動即會自動注入基本 CURD,性能基本無損耗,直接面向對象操作
- 強大的 CRUD 操作:內置通用 Mapper、通用 Service,僅僅通過少量配置即可實現單表大部分 CRUD 操作,更有強大的條件構造器,滿足各類使用需求
- 支持 Lambda 形式調用:通過 Lambda 表達式,方便的編寫各類查詢條件,無需再擔心字段寫錯
- 支持主鍵自動生成:支持多達 4 種主鍵策略(內含分佈式唯一 ID 生成器 - Sequence),可自由配置,完美解決主鍵問題
- 支持 ActiveRecord 模式:支持 ActiveRecord 形式調用,實體類只需繼承 Model 類即可進行強大的 CRUD 操作
- 支持自定義全局通用操作:支持全局通用方法注入( Write once, use anywhere )
- 內置代碼生成器:採用代碼或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 層代碼,支持模板引擎,更有超多自定義配置等您來使用
- 內置分頁插件:基於 MyBatis 物理分頁,開發者無需關心具體操作,配置好插件之後,寫分頁等同於普通 List 查詢
- 分頁插件支持多種數據庫:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多種數據庫
- 內置性能分析插件:可輸出 Sql 語句以及其執行時間,建議開發測試時啓用該功能,能快速揪出慢查詢
- 內置全局攔截插件:提供全表 delete 、 update 操作智能分析阻斷,也可自定義攔截規則,預防誤操作
Spring Boot整合Mybatis-plus
依賴配置
添加對應版本的SpringBoot依賴,如果產生不兼容可以調整版本號
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.17</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
創建項目,添加Mybatis-plus相關依賴
如果是SpringBoot2添加依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.14</version>
</dependency>
如果是SpringBoot3添加依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.14</version>
</dependency>
修改或添加配置文件application.properties相關配置內容
mybatis-plus.mapper-locations=classpath:mapper/*.xml
# (標黃部分改成自己項目的實體類路徑)
mybatis-plus.type-aliases-package=com.example.testdemo.entity
代碼內容
創建實體類User
@Data
@TableName("user")
public class User {
private int id;
private String name;
private int age;
private String sex;
}
創建Mapper接口UserMapper
創建Mapper接口,此接口只要繼承MyBatis-Plus基本配置接口BaseMapper即可。
@Mapper
public interface UserMapper extends BaseMapper<User>{}
創建服務層接口和實現類UserService
- 創建服務層接口
UserService
public interface UserService{
public List<User> getAllUsers();
}
- 創建服務層實現類
UserServiceImpl
@Service
public class UserServiceImpl implements UserService{
@Autowired
private UserMapper userMapper;
@Override
public List<User> getAllUsers() {
System.out.println("------------------");
List<User> userList = userMapper.selectList(null);
for(User user:userList){
System.out.println(user);
}
return userList;
}
}
創建測試類userTests
@SpringBootTest
class UserTests {
@Autowired
private UserMapper userMapper;
@Autowired
private UserService userService;
//測試userMapper中的fingById方法
@Test
void contextLoads() {
User byId = userMapper.selectById(1);
System.out.println(byId);
}
//測試服務類userService中的getAllUser方法
@Test
void test1(){
List<User> allUsers = userService.getAllUsers();
System.out.println(allUsers);
}
}
創建控制類UserController
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/getAllUsers")
public List<User> getAllUsers(){
return userService.getAllUsers();
}
}
運行主程序啓動類:訪問http://localhost:8080/user/getAllUsers
MySQL數據庫操作
創建數據表
-- 創建user表,包含id,name,age,sex
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '自增id',
`name` varchar(50) DEFAULT NULL COMMENT '姓名',
`age` int DEFAULT NULL COMMENT '年齡',
`sex` char DEFAULT NULL COMMENT '性別',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
添加內容
-- 導入三條數據
INSERT INTO `user` VALUES ('1', 'jack', '18', '男');
INSERT INTO `user` VALUES ('2', 'mike', '20', '男');
INSERT INTO `user` VALUES ('3', 'lili', '21', '女');