版權聲明:本文爲 小異常 原創文章,非商用自由轉載-保持署名-註明出處,謝謝!
本文網址:https://blog.csdn.net/sun8112133/article/details/106916708
文章目錄
本篇博客還是以一個衆所周知的 HelloWorld 小案例開始講起,幫助大家快速瞭解 MyBatis Plus 這款主流框架。
本篇博客是基於 Spring Boot 開發的,使用 Spring Boot(2.3.1) 來整合 MyBatis Plus(3.3.1) 框架。對 Spring Boot 還不熟悉的小夥伴請參考我之前寫的博客:《Spring Boot 入門學習筆記》。
一、MyBatis Plus 概述
在講 HelloWorld 這個小案例之前,我先大概介紹一下什麼是 MyBatis Plus,以及它的優點及缺點。
我想,相信大家在看我這篇 MyBatis Plus 博客前,都已經對 MyBatis 有過一些瞭解,對 MyBatis 框架還陌生的小夥伴請參數我之前寫的博客:《MyBatis 筆記整理》。
MyBatis Plus (簡稱 MP)是一款國產化的開源框架,是我們中國人在 MyBatis 的基礎上進行二次封裝,它使用起來比 MyBatis 更加簡單,效率也大大提升。
大家可以理解爲它是 MyBatis 的增強工具,只做增強不做任何改變,爲簡化開發、提高效率而生。MyBatis Plus 官網:https://mp.baomidou.com/
二、HelloWorld
先創建一個最基本的 Java 工程,或者創建一個簡單的 Maven 工程,這裏推薦大家使用 Maven 工程(可以參考:在 Eclipse 中使用 Maven)。
1、準備工作
1)創建 Spring Boot 微服務基礎工廠
2)在 pom.xml 中引入 MyBatis Plus 的依賴
因爲 MyBatis Plus 是一款國產的開源框架,並沒有接入到 Spring 官方孵化器中(孵化器可以理解成 Spring 依賴容器),所以需要我們手動引入依賴信息。
<!-- 因爲是 Spring Boot 來管理,所以必須使用 boot-starter 起步依賴 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1.tmp</version>
</dependency>
它會自動加入以下 Jar 包:
3)數據表
create table `user` (
`id` int(11) not null auto_increment,
`name` varchar(255),
`age` int(11),
primary key (`id`)
);
-- 隨意插入幾條記錄
2、目錄結構
3、創建實體類
@Data
public class User {
private Integer id;
private String name;
private Integer age;
}
4、創建 Mapper 接口
public interface UserMapper extends BaseMapper<User> {
}
5、配置文件(application.yml)
spring:
datasource: # 配置數據源信息
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql:///demo?useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true
username: root
password: 123456
server:
port: 8888 # 配置項目端口號
mybatis-plus:
configuration: # 開啓顯示 SQL 語句
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
6、在啓動類上添加 @MapperScan 註解
在啓動類上添加
@MapperScan
註解,用來掃描 Mapper 接口,否則無法加載 Mapper Bean。
@SpringBootApplication
@MapperScan("com.demo.mapper")
public class MybatisplusApplication {
public static void main(String[] args) {
SpringApplication.run(MybatisplusApplication.class, args);
}
}
7、測試
@SpringBootTest
class UserMapperTest {
@Autowired
private UserMapper mapper;
@Test
void test() {
// 遍歷表中所有的數據
mapper.selectList(null).forEach(System.out::println);
}
}