亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文教你學會如何使用MyBatisPlus

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

前言

本篇文章,我們通過 MyBatis Plus 來對一張表進行 CRUD 操作,來看看是如何簡化我們開發(fā)的。

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

創(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 表中插入兩條數據:

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

打開表,發(fā)現有兩條數據了:

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

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

3、導入依賴

<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 我們導入最新版 3.3.2。另外,由于我數據采用的是 MySql,所以這里導入了 Mysql 的連接依賴。

另外,為了簡化 JavaBean 類的書寫,我這里額外導入一個 lombok 插件依賴。

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

通過這個依賴的相關注解,我們可以不用書寫繁瑣的 get/set 方法。

4、編寫數據庫配置文件

在 springboot 項目的 resource 目錄下,新建 application.yml 文件,添加如下內容:

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 里面填寫的 mybatisplus 是我的數據庫名稱,注意修改,username 和 password 分別填寫自己的數據庫連接名稱和密碼。

5、編寫代碼

①、實體類 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> {}

③、啟動類增加 @MapperScan 注解

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

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

}如果不想在啟動類加 @MapperScan 注解,也可在每個 Mapper 接口上增加 @Mapper 注解。

所有配置上面都以完成,是不是很簡單,接下來我們對這張表進行 CRUD 測試。

6、CRUD 測試我們在編寫 UserMapper 接口時,其繼承了一個 BaseMapper 接口:

public interface UserMapper extends BaseMapper<User> {}我們進入到 BaseMapper 內部,發(fā)現其結構如下:

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

①、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("影響記錄數:"+insert);
    }

}

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

②、delete:刪除記錄

/**

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

/**

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

③、update:修改記錄

/**

 * 根據id修改
   */
   @Test
   public void testudpateById(){
   User user = new User();
   user.setId(3L);
   user.setUserName("test update");
   int num = userMapper.updateById(user);
   System.out.println("修改的記錄數為:"+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可樂");
   List<User> users = userMapper.selectList(wrapper);
   users.forEach(x-> System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
   }

發(fā)現沒有,做增刪改查是如此的絲滑流暢,都不用寫 SQL 語句了。

當然,這都只是單表的簡單玩法,后面我們會介紹高階玩法。

7、打印 SQL 語句

這里補充一個小知識點,通過如下配置,我們可以查看執(zhí)行的 SQL 語句日志。

在 applicatio.yml 文件中,進行如下配置:

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

當然,這種配置只是把 SQL 日志打印到控制臺便于我們調試,后面會介紹更加強大的 SQL 分析工具。

以上就是一文教你學會如何使用MyBatisPlus的詳細內容,更多關于MyBatisPlus使用教程的資料請關注腳本之家其它相關文章!

相關文章

  • java 獲取mac地址的兩種方法(推薦)

    java 獲取mac地址的兩種方法(推薦)

    下面小編就為大家?guī)硪黄猨ava 獲取mac地址的兩種方法(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 一招教你優(yōu)化Java代碼中大量的if/else

    一招教你優(yōu)化Java代碼中大量的if/else

    當代碼已經復雜到難以維護的程度之后,只能狠下心重構優(yōu)化。那,有什么方案可以優(yōu)雅的優(yōu)化掉這些多余的if/else?本文就來和大家詳細聊聊
    2023-03-03
  • Java Jedis NOAUTH Authentication required問題解決方法

    Java Jedis NOAUTH Authentication required問題解決方法

    這篇文章主要介紹了Java Jedis NOAUTH Authentication required問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Spring MVC的參數綁定和返回值問題

    Spring MVC的參數綁定和返回值問題

    這篇文章主要介紹了Spring MVC的參數綁定和返回值問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Spring spel表達式使用方法示例

    Spring spel表達式使用方法示例

    這篇文章主要介紹了Spring spel表達式使用方法示例,通過一些實例向大家展示了spel表達式的用法,需要的朋友可以了解下。
    2017-09-09
  • 解析Arthas協(xié)助排查線上skywalking不可用問題

    解析Arthas協(xié)助排查線上skywalking不可用問題

    這篇文章主要為大家介紹了解析Arthas協(xié)助排查線上skywalking不可用的問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-02-02
  • Java實現簡單的掃雷小程序

    Java實現簡單的掃雷小程序

    這篇文章主要為大家詳細介紹了Java實現簡單的掃雷小程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • JAVA使用ffmepg處理視頻的方法(壓縮,分片,合并)

    JAVA使用ffmepg處理視頻的方法(壓縮,分片,合并)

    這篇文章主要介紹了JAVA使用ffmepg處理視頻的方法,包括視頻壓縮分片合并功能,通過實例代碼講解的很詳細,對java ffmepg處理視頻相關知識感興趣的朋友一起看看吧
    2021-05-05
  • Java中關于二叉樹層序遍歷深入了解

    Java中關于二叉樹層序遍歷深入了解

    二叉樹的層序遍歷是面試經常會被考察的知識點,甚至要求當場寫出實現過程。層序遍歷所要解決的問題很好理解,就是按二叉樹從上到下,從左到右依次打印每個節(jié)點中存儲的數據,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Java網絡通信中URL與HTTP編程技術詳解

    Java網絡通信中URL與HTTP編程技術詳解

    要想實現網絡編程,除了可以使用Socket之外,我們還可以利用URL編程或HTTP編程技術,所以今天這篇文章,就給大家介紹一下URL編程和HTTP編程技術,看看這兩種技術有什么特點,文中有詳細的代碼講解,需要的朋友可以參考下
    2023-11-11

最新評論