目錄
前提
準備工作
用cmd在本地創建數據庫、表:
1.創建springboot項目(已有可跳過)
2.編輯Mybatis配置
3.連接數據庫
4.創建模型類,用于與數據庫里的數據表相連
5.創建接口mapper,定義對數據庫的操作
6.創建controller類,來處理前端發送的請求
7.創建xml配置文件,編寫SQL映射語句
前提
1.已有springboot項目,安裝有jdk(17版本以上)、MySQL
2.下載navicat軟件用于編輯數據庫(也可以是其他類似軟件)
3.下載apifox軟件用于創建接口并測試連接(按需求選擇)
準備工作
用cmd在本地創建數據庫、表:
- 登錄到MySQL:mysql -u 用戶名 -p
- 使用CREATE DATABASE語句來創建一個新的數據庫,例如,要創建一個名為my_database的數據庫:CREATE DATABASE my_database
- 在創建表之前,你需要先選擇你剛剛創建的數據庫,使用USE語句來選擇數據庫:USE my_database;
- 使用CREATE TABLE語句來定義表的結構,例如,要創建一個簡單的用戶表,你可以執行:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
這個命令創建了一個名為users的表,它包含四個字段:id(自增主鍵)、username(非空字符串)、email(非空字符串)和created_at(時間戳,默認為當前時間)。
1.創建springboot項目(已有可跳過)
項目結構:
2.編輯Mybatis配置
xml配置文件用于創建編輯數據庫的基礎命令,向數據表插入數據、更新數據、刪除數據等,注意名字要相對應。Java文件聲明數據庫編輯方法,如搜索賬戶是否存在
3.連接數據庫
1)打開navicat,點擊“文件”-> “新建連接”->“MySQL”,或者直接點擊下面的“連接”->“MySQL”,輸入本地創建的數據庫名稱,用戶名(默認為root),密碼,端口(默認3306)
連接成功后會顯示本地的數據庫,點擊“文件”->“新建”->“表”創建數據表,雙擊表可查看數據表內容。
2)springboot項目連接數據庫:
- Username:用戶名
- Password:密碼
- url:數據庫路由,格式一般為“jdbc:mysql://localhost:3306/******(數據表名稱)useUnicode=true&characterEncoding=utf8&useSSL=false”
- driver-class-name:驅動java數據庫連接程序(指JDBC,項目通過jdbc api與數據庫進行交互)
4.創建模型類,用于與數據庫里的數據表相連
- @TableName(“數據表名”):連接的數據表表名
- @Entity:將java標記為實體類,從而允許這些類映射到數據庫中的表
- @Id:JPA(Java Persistence API)規范中的注解,標識實體類中的主鍵字段
- @TableId:MyBatis-Plus 框架中的注解,用于標識實體類的主鍵字段
注意:@Id和@TableId二者作用相同,按項目所包含依賴選擇其一即可
右鍵->“生成”->“構造函數”setter和getter
5.創建接口mapper,定義對數據庫的操作
6.創建controller類,來處理前端發送的請求
- @CrossOrigin(origin=“*”):允許所有來源訪問該url,解決本地訪問跨域問題
- @RestController:@Controller和@ResponseBody的組合,它告訴Spring這個類是一個控制器(Controller),并且所有的方法返回的內容都直接寫入HTTP響應體中,而不是解析為跳轉路徑,這通常用于RESTful Web服務,其中返回的數據是JSON或XML等格式。
- @RequestMapping(“/api/***”):用于將HTTP請求映射到特定的處理器方法或處理器類上
- @Autowired:用于自動裝配Spring容器中的bean, 當Spring發現@Autowired注解時,它會嘗試查找匹配的bean來注入到被注解的字段、構造函數參數或setter方法的參數中。如果找到多個匹配的bean,并且沒有指定哪個bean應該被注入,那么將會拋出一個異常。如果找不到匹配的bean,并且該字段是可選的(即,它是null可以接受的類型,比如接口或接口的實現類的字段),那么它將不會被注入,而是保持為null。
- @GetMapping:定義請求方式為Get方法(也可以是post方法PostMapping)
7.創建xml配置文件,編寫SQL映射語句
id:映射方法名
namespace:命名空間,指向mapper包里面的相同名字的java文件
UserMapper.java:
- @Mapper指明是一個mapper接口
- public interface UserMapper extends BaseMapper:UserMapper接口繼承自BaseMapper,這意味著它自動擁有了BaseMapper中定義的所有方法,這些方法都是針對UserInfo類型的數據進行操作的。這大大減少了編寫重復性代碼的需要。
- 定義了一些自定義的方法,如selectByAccount、existsByAccount、insertUserToken等