您好,登錄后才能下訂單哦!
這篇文章主要介紹了Mybatis Plus案例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Mybatis Plus案例分析文章都會有所收獲,下面我們一起來看看吧。
??MyBatis-Plus簡稱 MP,是一個 MyBatis的增強工具,在MyBatis的基礎上只做增強不做改變,為簡化開發、提高效率而生。MyBatis-Plus有很多的特點支持很多的標準數據庫,具體等學到相關特性的時候再去詳細了解。MyBatis-Plus的官方文檔:https://baomidou.com/
關于MyBatis-Plus的框架結構,也就是框架的底層實現官方文檔給出如下試圖,簡單總結來就是:掃描實體類,通過反射抽取實體類中的屬性并分析其與表中字段之間的關系,最后調用MyBatis-Plus提供的一堆方法生成SQL語句注入到MyBatis的容器中,從而實現不同的增刪改查功能
第一步: 創建數據庫表并插入數據
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.Driver
url: jdbc:mysql://localhost:3306/mybatis_plus
username: root
password: 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 { @Autowired UserMapper mapper; @Test public void selectListTest() { // 通過條件構造器查詢到一個list集合,如果沒有條件的話參數設置為null List<User> users = mapper.selectList(null); users.forEach(System.out::println); } }
入門案例中的小知識點
??測試類中注入mapper組件的時候代碼會報紅,但是并不會影響最終的程序執行結果。原因是:@Mapper接口將該接口動態生成的代理類注入到IOC容器中起相應的作用,所以使用自動注入mapper的時候會報紅在容器中找不到這個接口組件。解決方法:在mapper接口上加@Repository注解將類或接口標注為一個持久層組件。這樣的話一個注解用來起作用,一個注解用來注入的時候找到接口組件防止報紅 ??
生成的SQL語句中,表名為mapper接口傳入的泛型首字母小寫,表中字段名為泛型類的封裝屬性,如果需要修改實體類綁定的表名的話需要在實體類上使用@TableName注解
關于“Mybatis Plus案例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Mybatis Plus案例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。