日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Mybatis-Plus】(一)初识Mybatis-Plus 入门案例

發布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Mybatis-Plus】(一)初识Mybatis-Plus 入门案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面🛫更多知識總結見Mybatis-Plus專欄
🚕內容總結自尚硅谷楊博超老師的視頻
🚒博主對于該知識尚在學習階段
🚄如果發現存在問題請毫不吝嗇的指出
🚀🚀扎哇太棗糕的博客首頁🚀🚀

文章目錄

  • 1 初識Mybatis-Plus
  • 2 入門案例

1 初識Mybatis-Plus

??MyBatis-Plus簡稱 MP,是一個 MyBatis的增強工具,在MyBatis的基礎上只做增強不做改變,為簡化開發、提高效率而生。MyBatis-Plus有很多的特點支持很多的標準數據庫,具體等學到相關特性的時候再去詳細了解。MyBatis-Plus的官方文檔:https://baomidou.com/
??關于MyBatis-Plus的框架結構,也就是框架的底層實現官方文檔給出如下試圖,簡單總結來就是:掃描實體類,通過反射抽取實體類中的屬性并分析其與表中字段之間的關系,最后調用MyBatis-Plus提供的一堆方法生成SQL語句注入到MyBatis的容器中,從而實現不同的增刪改查功能

2 入門案例

前期環境準備

第一步: 創建數據庫表并插入數據

CREATE TABLE `user` ( `id` bigint(20) NOT NULL COMMENT '主鍵ID', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年齡', `email` varchar(50) DEFAULT NULL COMMENT '郵箱', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO user (id, name, age, email) VALUES (1, 'Jone', 18, 'test1@baomidou.com'), (2, 'Jack', 20, 'test2@baomidou.com'), (3, 'Tom', 28, 'test3@baomidou.com'), (4, 'Sandy', 21, 'test4@baomidou.com'), (5, 'Billie', 24, 'test5@baomidou.com');

第二步: 使用Spring Initializr快速創建一個SpringBoot工程
刪除選中的不必要文件以及文件夾第三步: pom文件導入相關依賴

<!--mybatis-的場景啟動器--> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version> </dependency><!--lombok簡化實體類開發,如果之前沒有下載過依賴的同名插件的話需要下載安裝,然后重啟一下idea--> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional> </dependency><!--數據庫連接驅動--> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.32</version><scope>runtime</scope> </dependency><!--整合druid的數據源--> <dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.17</version> </dependency>

第四步: 配置文件改后綴為.yml并配置數據源

spring:# 數據源的各種配置datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://localhost:3306/mybatis_plususername: rootpassword: 123456# Mybatis-Plus開啟日志打印 mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

各層代碼編寫

domain層實體類

/*** @author : mereign* @date : 2022/3/13 - 14:28* @desc : user實體類*/// 在編譯期間生成user類的全參構造方法 @AllArgsConstructor // 在編譯期間生成user類的無參構造方法 @NoArgsConstructor // 在編譯期間生成封裝屬性的setter、getter方法,并重寫了toString和equals、hashCode方法 @Data public class User {private Long id;private String name;private Integer age;private String email;}

mapper層繼承接口

/*** @author : mereign* @date : 2022/3/13 - 15:43* @desc : 創建mapper接口繼承BaseMapper接口并傳user泛型*/// spring框架創建mapper接口相對應的接口實現類 @Mapper public interface UserMapper extends BaseMapper<User> { }

測試類

/*** @author : mereign* @date : 2022/3/13 - 15:50* @desc : 測試類簡單測試mp的查詢方法*/@SpringBootTest public class MybatisPlusTest {@AutowiredUserMapper mapper;@Testpublic void selectListTest() {// 通過條件構造器查詢到一個list集合,如果沒有條件的話參數設置為nullList<User> users = mapper.selectList(null);users.forEach(System.out::println);} }

入門案例查詢結果入門案例中的小知識點

??測試類中注入mapper組件的時候代碼會報紅,但是并不會影響最終的程序執行結果。原因是:@Mapper接口將該接口動態生成的代理類注入到IOC容器中起相應的作用,所以使用自動注入mapper的時候會報紅在容器中找不到這個接口組件。解決方法:在mapper接口上加@Repository注解將類或接口標注為一個持久層組件。這樣的話一個注解用來起作用,一個注解用來注入的時候找到接口組件防止報紅
??生成的SQL語句中,表名為mapper接口傳入的泛型首字母小寫,表中字段名為泛型類的封裝屬性,如果需要修改實體類綁定的表名的話需要在實體類上使用@TableName注解

總結

以上是生活随笔為你收集整理的【Mybatis-Plus】(一)初识Mybatis-Plus 入门案例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。