【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文件導入相關依賴
第四步: 配置文件改后綴為.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 入门案例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言什么时候需要加分号,归纳一下htm
- 下一篇: 海底捞股票代码是多少