91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mybatis Plus案例分析

發布時間:2022-03-21 15:42:03 來源:億速云 閱讀:159 作者:iii 欄目:開發技術

這篇文章主要介紹了Mybatis Plus案例分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Mybatis Plus案例分析文章都會有所收獲,下面我們一起來看看吧。

1 初識Mybatis-Plus

??MyBatis-Plus簡稱 MP,是一個 MyBatis的增強工具,在MyBatis的基礎上只做增強不做改變,為簡化開發、提高效率而生。MyBatis-Plus有很多的特點支持很多的標準數據庫,具體等學到相關特性的時候再去詳細了解。MyBatis-Plus的官方文檔:https://baomidou.com/

關于MyBatis-Plus的框架結構,也就是框架的底層實現官方文檔給出如下試圖,簡單總結來就是:掃描實體類,通過反射抽取實體類中的屬性并分析其與表中字段之間的關系,最后調用MyBatis-Plus提供的一堆方法生成SQL語句注入到MyBatis的容器中,從而實現不同的增刪改查功能

Mybatis Plus案例分析

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工程

Mybatis Plus案例分析

刪除選中的不必要文件以及文件夾

Mybatis Plus案例分析

第三步: 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);
    }
}

入門案例查詢結果

Mybatis Plus案例分析

入門案例中的小知識點

??測試類中注入mapper組件的時候代碼會報紅,但是并不會影響最終的程序執行結果。原因是:@Mapper接口將該接口動態生成的代理類注入到IOC容器中起相應的作用,所以使用自動注入mapper的時候會報紅在容器中找不到這個接口組件。解決方法:在mapper接口上加@Repository注解將類或接口標注為一個持久層組件。這樣的話一個注解用來起作用,一個注解用來注入的時候找到接口組件防止報紅 ??

生成的SQL語句中,表名為mapper接口傳入的泛型首字母小寫,表中字段名為泛型類的封裝屬性,如果需要修改實體類綁定的表名的話需要在實體類上使用@TableName注解

關于“Mybatis Plus案例分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Mybatis Plus案例分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲阜市| 剑阁县| 商都县| 新野县| 上栗县| 曲沃县| 昂仁县| 平阳县| 东莞市| 崇文区| 会同县| 台北市| 阿拉善右旗| 永仁县| 高邑县| 沈阳市| 岳西县| 砀山县| 武平县| 丹棱县| 永兴县| 剑阁县| 宜春市| 廉江市| 林州市| 南宫市| 哈巴河县| 舒城县| 凉城县| 吴旗县| 陕西省| 修文县| 宁安市| 和政县| 庆云县| 昌吉市| 安宁市| 桦甸市| 鹤岗市| 监利县| 西昌市|