最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mybatis-Plus環(huán)境配置與入門案例分析

 更新時(shí)間:2022年03月21日 14:35:31   作者:扎哇太棗糕  
MyBatis-Plus 是一個(gè) Mybatis 增強(qiáng)版工具,在 MyBatis 上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,本篇文章帶你配置環(huán)境并認(rèn)識(shí)它

1 初識(shí)Mybatis-Plus

??MyBatis-Plus簡稱 MP,是一個(gè) MyBatis的增強(qiáng)工具,在MyBatis的基礎(chǔ)上只做增強(qiáng)不做改變,為簡化開發(fā)、提高效率而生。MyBatis-Plus有很多的特點(diǎn)支持很多的標(biāo)準(zhǔn)數(shù)據(jù)庫,具體等學(xué)到相關(guān)特性的時(shí)候再去詳細(xì)了解。MyBatis-Plus的官方文檔:https://baomidou.com/

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

2 入門案例

前期環(huán)境準(zhǔn)備

第一步: 創(chuàng)建數(shù)據(jù)庫表并插入數(shù)據(jù)

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快速創(chuàng)建一個(gè)SpringBoot工程

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

第三步: pom文件導(dǎo)入相關(guān)依賴

<!--mybatis-的場景啟動(dòng)器-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.1</version>
</dependency>

<!--lombok簡化實(shí)體類開發(fā),如果之前沒有下載過依賴的同名插件的話需要下載安裝,然后重啟一下idea-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

<!--數(shù)據(jù)庫連接驅(qū)動(dòng)-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.32</version>
    <scope>runtime</scope>
</dependency>

<!--整合druid的數(shù)據(jù)源-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.17</version>
</dependency>

第四步: 配置文件改后綴為.yml并配置數(shù)據(jù)源

spring:
# 數(shù)據(jù)源的各種配置
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層實(shí)體類

/**
 * @author : mereign
 * @date : 2022/3/13 - 14:28
 * @desc : user實(shí)體類
 */

// 在編譯期間生成user類的全參構(gòu)造方法
@AllArgsConstructor
// 在編譯期間生成user類的無參構(gòu)造方法
@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 : 創(chuàng)建mapper接口繼承BaseMapper接口并傳user泛型
 */
 
// spring框架創(chuàng)建mapper接口相對應(yīng)的接口實(shí)現(xiàn)類
@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() {
        // 通過條件構(gòu)造器查詢到一個(gè)list集合,如果沒有條件的話參數(shù)設(shè)置為null
        List<User> users = mapper.selectList(null);
        users.forEach(System.out::println);
    }
}

入門案例查詢結(jié)果

入門案例中的小知識(shí)點(diǎn)

??測試類中注入mapper組件的時(shí)候代碼會(huì)報(bào)紅,但是并不會(huì)影響最終的程序執(zhí)行結(jié)果。原因是:@Mapper接口將該接口動(dòng)態(tài)生成的代理類注入到IOC容器中起相應(yīng)的作用,所以使用自動(dòng)注入mapper的時(shí)候會(huì)報(bào)紅在容器中找不到這個(gè)接口組件。解決方法:在mapper接口上加@Repository注解將類或接口標(biāo)注為一個(gè)持久層組件。這樣的話一個(gè)注解用來起作用,一個(gè)注解用來注入的時(shí)候找到接口組件防止報(bào)紅 ??

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

到此這篇關(guān)于Mybatis-Plus環(huán)境配置與入門案例分析的文章就介紹到這了,更多相關(guān)Mybatis-Plus 入門內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java?SpringBootWeb請求響應(yīng)舉例詳解

    java?SpringBootWeb請求響應(yīng)舉例詳解

    SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時(shí)也是簡化Spring的一種快速開發(fā)的腳手架,這篇文章主要給大家介紹了關(guān)于java?SpringBootWeb請求響應(yīng)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • Java中的Semaphore信號(hào)量深入解析

    Java中的Semaphore信號(hào)量深入解析

    這篇文章主要介紹了Java中的Semaphore信號(hào)量深入解析,Semaphore是Java里面另外一個(gè)基本的并發(fā)工具包類,主要的的作用是用來保護(hù)共享資源的訪問的,也就是僅僅允許一定數(shù)量的線程訪問共享資源,需要的朋友可以參考下
    2023-11-11
  • Spring Boot Debug調(diào)試過程圖解

    Spring Boot Debug調(diào)試過程圖解

    這篇文章主要介紹了Spring Boot Debug調(diào)試過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法

    SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法

    這篇文章主要介紹了SpringBoot 動(dòng)態(tài)定時(shí)器的使用方法,非常不錯(cuò),具有一定的參考借鑒借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • 解決RedisTemplate的key默認(rèn)序列化器的問題

    解決RedisTemplate的key默認(rèn)序列化器的問題

    這篇文章主要介紹了解決RedisTemplate的key默認(rèn)序列化器的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • java通過ssh連接服務(wù)器執(zhí)行shell命令詳解及實(shí)例

    java通過ssh連接服務(wù)器執(zhí)行shell命令詳解及實(shí)例

    這篇文章主要介紹了java通過ssh連接服務(wù)器執(zhí)行shell命令詳解及實(shí)例方法的相關(guān)資料
    2017-02-02
  • Spring依賴注入中的@Resource與@Autowired詳解

    Spring依賴注入中的@Resource與@Autowired詳解

    這篇文章主要介紹了Spring依賴注入中的@Resource與@Autowired詳解,提到Spring依賴注入,大家最先想到應(yīng)該是@Resource和@Autowired,對于Spring為什么要支持兩個(gè)這么類似的注解卻未提到,屬于知其然而不知其所以然,本文就來做詳細(xì)講解,需要的朋友可以參考下
    2023-09-09
  • Springboot apollo原理及使用方法詳解

    Springboot apollo原理及使用方法詳解

    這篇文章主要介紹了Springboot apollo原理及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • SpringMVC使用@Valid注解實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證的代碼示例

    SpringMVC使用@Valid注解實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證的代碼示例

    在 Web 開發(fā)中,數(shù)據(jù)驗(yàn)證是一個(gè)非常重要的環(huán)節(jié),它可以確保數(shù)據(jù)的合法性和正確性,保護(hù)系統(tǒng)不受到惡意攻擊或用戶誤操作的影響,在 SpringMVC 中,我們可以使用 @Valid 注解來實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證,所以本文就給大家介紹具體的使用方法,需要的朋友可以參考下
    2023-07-07
  • Mybatis-Plus?動(dòng)態(tài)表名的實(shí)踐

    Mybatis-Plus?動(dòng)態(tài)表名的實(shí)踐

    本文主要介紹了Mybatis-Plus?動(dòng)態(tài)表名的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08

最新評(píng)論

合肥市| 奇台县| 通河县| 西丰县| 诏安县| 大竹县| 南川市| 庄河市| 兰考县| 洞口县| 平塘县| 汨罗市| 兴国县| 宜章县| 宜兰市| 高清| 西盟| 邵东县| 铅山县| 灵宝市| 长宁区| 安西县| 合江县| 佛山市| 新巴尔虎左旗| 富民县| 封丘县| 大洼县| 兴安县| 随州市| 葫芦岛市| 台中县| 郓城县| 化德县| 佛学| 平潭县| 阳原县| 赤水市| 娄烦县| 吉首市| 澎湖县|