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

一文教你學(xué)會(huì)如何使用MyBatisPlus

 更新時(shí)間:2024年05月08日 10:19:28   作者:Java你猿哥  
本篇文章,我們通過(guò) MyBatis Plus 來(lái)對(duì)一張表進(jìn)行 CRUD 操作,來(lái)看看是如何簡(jiǎn)化我們開(kāi)發(fā)的,文中通過(guò)代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下

前言

本篇文章,我們通過(guò) MyBatis Plus 來(lái)對(duì)一張表進(jìn)行 CRUD 操作,來(lái)看看是如何簡(jiǎn)化我們開(kāi)發(fā)的。

1、創(chuàng)建測(cè)試表

創(chuàng)建 USER 表:

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `ID` int(11) NOT NULL,
  `USER_NAME` varchar(32) COLLATE utf8mb4_bin DEFAULT NULL,
  `USER_AGE` int(11) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

向 USER 表中插入兩條數(shù)據(jù):

INSERT INTO `user` VALUES ('1', 'IT可樂(lè)', '18');
INSERT INTO `user` VALUES ('2', 'YSOcean', '22');

打開(kāi)表,發(fā)現(xiàn)有兩條數(shù)據(jù)了:

2、創(chuàng)建 Spring Boot 工程

通過(guò) IDEA 創(chuàng)建 Spring Boot 工程,如果不能連接 https://start.spring.io/ 網(wǎng)址,可以將網(wǎng)址變成 https://start.aliyun.com/ ,如下所示:

3、導(dǎo)入依賴(lài)

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.2</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>    

首先 mybatis-plus 我們導(dǎo)入最新版 3.3.2。另外,由于我數(shù)據(jù)采用的是 MySql,所以這里導(dǎo)入了 Mysql 的連接依賴(lài)。

另外,為了簡(jiǎn)化 JavaBean 類(lèi)的書(shū)寫(xiě),我這里額外導(dǎo)入一個(gè) lombok 插件依賴(lài)。

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

通過(guò)這個(gè)依賴(lài)的相關(guān)注解,我們可以不用書(shū)寫(xiě)繁瑣的 get/set 方法。

4、編寫(xiě)數(shù)據(jù)庫(kù)配置文件

在 springboot 項(xiàng)目的 resource 目錄下,新建 application.yml 文件,添加如下內(nèi)容:

server:
  port: 8082

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mybatisplus?useUnicode=true&characterEncoding=UTF-8
    username: root
    password: root
    # >= 6.x: com.mysql.cj.jdbc.Driver
    # <= 5.x: com.mysql.jdbc.Driver
    driver-class-name: com.mysql.cj.jdbc.Driver

注意:url 里面填寫(xiě)的 mybatisplus 是我的數(shù)據(jù)庫(kù)名稱(chēng),注意修改,username 和 password 分別填寫(xiě)自己的數(shù)據(jù)庫(kù)連接名稱(chēng)和密碼。

5、編寫(xiě)代碼

①、實(shí)體類(lèi) User.java

@Getter@Setterpublic class User {private Long id;

private String userName;

private String userAge;

}②、創(chuàng)建 UserMapper 接口

import com.baomidou.mybatisplus.core.mapper.BaseMapper;import com.ys.mybatisplusstudy.entry.User;

public interface UserMapper extends BaseMapper<User> {}

③、啟動(dòng)類(lèi)增加 @MapperScan 注解

@SpringBootApplication@MapperScan("com.ys.mybatisplusstudy.mapper")public class MybatisplusstudyApplication {

public static void main(String[] args) {
    SpringApplication.run(MybatisplusstudyApplication.class, args);
}

}如果不想在啟動(dòng)類(lèi)加 @MapperScan 注解,也可在每個(gè) Mapper 接口上增加 @Mapper 注解。

所有配置上面都以完成,是不是很簡(jiǎn)單,接下來(lái)我們對(duì)這張表進(jìn)行 CRUD 測(cè)試。

6、CRUD 測(cè)試我們?cè)诰帉?xiě) UserMapper 接口時(shí),其繼承了一個(gè) BaseMapper 接口:

public interface UserMapper extends BaseMapper<User> {}我們進(jìn)入到 BaseMapper 內(nèi)部,發(fā)現(xiàn)其結(jié)構(gòu)如下:

這些方法便是我們常用的增刪改查了,下面我們分別演示幾個(gè)常用的。

①、insert:新增一條記錄

@SpringBootTest
class MybatisplusstudyApplicationTests {

    @Autowired
    private UserMapper userMapper;


    /**
     * 新增一條記錄
     */
    @Test
    public void testInsert(){
        User user = new User();
        user.setId(3L);
        user.setUserName("test insert");
        user.setUserAge("1");
        int insert = userMapper.insert(user);
        System.out.println("影響記錄數(shù):"+insert);
    }

}

執(zhí)行完畢后,我們查看數(shù)據(jù)庫(kù):

②、delete:刪除記錄

/**

 * 根據(jù)id刪除一條記錄
   */
   @Test
   public void testDeleteById(){
   int num = userMapper.deleteById(3L);
   System.out.println("刪除的記錄數(shù)為:"+num);
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("id",3L);
   userMapper.delete(wrapper);
   }

/**

 * 構(gòu)造相關(guān)條件刪除記錄
   */
   @Test
   public void testDelete(){
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("USER_NAME","test insert");
   int num = userMapper.delete(wrapper);
   System.out.println("刪除的記錄數(shù)為:"+num);
   }

③、update:修改記錄

/**

 * 根據(jù)id修改
   */
   @Test
   public void testudpateById(){
   User user = new User();
   user.setId(3L);
   user.setUserName("test update");
   int num = userMapper.updateById(user);
   System.out.println("修改的記錄數(shù)為:"+num);
   }

④、select:查詢記錄

/**

 * 查詢User表所有記錄
   */
   @Test
   public void testSelectAll(){
   List<User> users = userMapper.selectList(null);
   users.forEach(x-> System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
   }

/**

 * 查詢指定記錄
   */
   @Test
   public void testSelectWrapper(){
   QueryWrapper wrapper = new QueryWrapper();
   wrapper.eq("user_name","IT可樂(lè)");
   List<User> users = userMapper.selectList(wrapper);
   users.forEach(x-> System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
   }

發(fā)現(xiàn)沒(méi)有,做增刪改查是如此的絲滑流暢,都不用寫(xiě) SQL 語(yǔ)句了。

當(dāng)然,這都只是單表的簡(jiǎn)單玩法,后面我們會(huì)介紹高階玩法。

7、打印 SQL 語(yǔ)句

這里補(bǔ)充一個(gè)小知識(shí)點(diǎn),通過(guò)如下配置,我們可以查看執(zhí)行的 SQL 語(yǔ)句日志。

在 applicatio.yml 文件中,進(jìn)行如下配置:

# 配置slq打印日志
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

當(dāng)然,這種配置只是把 SQL 日志打印到控制臺(tái)便于我們調(diào)試,后面會(huì)介紹更加強(qiáng)大的 SQL 分析工具。

以上就是一文教你學(xué)會(huì)如何使用MyBatisPlus的詳細(xì)內(nèi)容,更多關(guān)于MyBatisPlus使用教程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 關(guān)于@MapperScan包掃描的坑及解決

    關(guān)于@MapperScan包掃描的坑及解決

    這篇文章主要介紹了關(guān)于@MapperScan包掃描的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mybatis條件語(yǔ)句中帶數(shù)組參數(shù)的處理

    mybatis條件語(yǔ)句中帶數(shù)組參數(shù)的處理

    這篇文章主要介紹了mybatis條件語(yǔ)句中帶數(shù)組參數(shù)的處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 解決Mybatis-plus和pagehelper依賴(lài)沖突的方法示例

    解決Mybatis-plus和pagehelper依賴(lài)沖突的方法示例

    這篇文章主要介紹了解決Mybatis-plus和pagehelper依賴(lài)沖突的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • 解決java編譯錯(cuò)誤:程序包不存在的問(wèn)題

    解決java編譯錯(cuò)誤:程序包不存在的問(wèn)題

    出錯(cuò):Error:(3, 27) java: 程序包c(diǎn)om.aliyun.odps.udf不存在,遇到這樣的錯(cuò)誤問(wèn)題如何解決呢,下面小編給大家?guī)?lái)了java編譯錯(cuò)誤:程序包不存在的問(wèn)題及解決方法,感興趣的朋友一起看看吧
    2023-05-05
  • Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法

    本文主要介紹了Java中StringRedisTemplate和RedisTemplate的區(qū)別及使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java實(shí)現(xiàn)計(jì)算器的代碼

    Java實(shí)現(xiàn)計(jì)算器的代碼

    這篇文章主要為大家介紹了Java實(shí)現(xiàn)計(jì)算器的詳細(xì)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • Spring Boot將項(xiàng)目打包成war包的操作方法

    Spring Boot將項(xiàng)目打包成war包的操作方法

    這篇文章主要介紹了Spring Boot將項(xiàng)目打包成war包的操作方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-09-09
  • SpringBoot項(xiàng)目yml配置文件不自動(dòng)提示解決方案

    SpringBoot項(xiàng)目yml配置文件不自動(dòng)提示解決方案

    這篇文章主要介紹了SpringBoot項(xiàng)目配置文件.yaml/.yml文件編寫(xiě)時(shí)沒(méi)有自動(dòng)提示的解決方案,文章通過(guò)圖文結(jié)合的方式給大家講解的非常詳細(xì),需要的朋友可以參考下
    2024-06-06
  • Tree組件實(shí)現(xiàn)支持50W數(shù)據(jù)方法剖析

    Tree組件實(shí)現(xiàn)支持50W數(shù)據(jù)方法剖析

    這篇文章主要為大家介紹了Tree組件實(shí)現(xiàn)支持50W數(shù)據(jù)的方法剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • sharding-jdbc5.0.0實(shí)現(xiàn)分表實(shí)踐

    sharding-jdbc5.0.0實(shí)現(xiàn)分表實(shí)踐

    本文主要介紹了sharding-jdbc5.0.0分表實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論

阿勒泰市| 扎兰屯市| 大冶市| 桂阳县| 泽库县| 华蓥市| 黔西县| 皋兰县| 襄汾县| 福贡县| 壤塘县| 文山县| 大埔县| 鄂州市| 安宁市| 休宁县| 建昌县| 酉阳| 克什克腾旗| 南昌市| 伊川县| 乐亭县| 乃东县| 堆龙德庆县| 秦皇岛市| 广水市| 农安县| 株洲市| 淳化县| 五大连池市| 诸暨市| 宜都市| 芦山县| 乐都县| 广宗县| 嘉祥县| 资源县| 疏附县| 吴旗县| 田林县| 磐石市|