色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MyBatis Plus如何簡化開發(fā)

科技綠洲 ? 來源:Java技術(shù)指北 ? 作者:Java技術(shù)指北 ? 2023-10-09 15:08 ? 次閱讀

本篇文章,我們通過 MyBatis Plus 來對一張表進(jìn)行 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 表中插入兩條數(shù)據(jù):

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

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

圖片

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

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

圖片

3、導(dǎo)入依賴

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

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

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

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

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

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

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

5、編寫代碼

①、實體類User.java

@Getter
@Setter
public 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 注解。

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

6、CRUD 測試

我們在編寫 UserMapper 接口時,其繼承了一個 BaseMapper 接口:

public interface UserMapper extends BaseMapper< User > {
}

我們進(jìn)入到 BaseMapper 內(nèi)部,發(fā)現(xiàn)其結(jié)構(gòu)如下:

圖片

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

①、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ù)庫:

圖片

②、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可樂");
    List< User > users = userMapper.selectList(wrapper);
    users.forEach(x- > System.out.println(x.getId()+"-"+x.getUserName()+"-"+x.getUserAge()));
}

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

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

7、打印SQL語句

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

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

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

執(zhí)行效果如下:

圖片

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7002

    瀏覽量

    88943
  • 開發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    370

    瀏覽量

    40836
  • 網(wǎng)址
    +關(guān)注

    關(guān)注

    2

    文章

    12

    瀏覽量

    6982
  • mybatis
    +關(guān)注

    關(guān)注

    0

    文章

    60

    瀏覽量

    6709
收藏 人收藏

    評論

    相關(guān)推薦

    mybatis plus的常規(guī)用法

    上篇文章我們介紹過通過 Mybatis Plus 進(jìn)行增刪改查,如下這段代碼: /** * 根據(jù)id修改 * UPDATE user SET user_name=?, user_age
    的頭像 發(fā)表于 09-25 15:06 ?903次閱讀
    <b class='flag-5'>mybatis</b> <b class='flag-5'>plus</b>的常規(guī)用法

    LDO簡化開關(guān)電源的設(shè)計

        1. 簡化開關(guān)電源設(shè)計    開關(guān)電源多路輸出一般通過增加高頻變壓器反饋端來實現(xiàn),這使得開關(guān)電源在設(shè)計過程中增加了設(shè)計者的工作量。應(yīng)用LDO作為開關(guān)電源的輸出終端,可以極大地簡化開
    發(fā)表于 10-29 09:25

    如何簡化開關(guān)電源設(shè)計

    如何簡化開關(guān)電源設(shè)計
    發(fā)表于 01-14 11:12 ?9次下載

    如何使用Myeclipse進(jìn)行java可視化開發(fā)

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用Myeclipse進(jìn)行java可視化開發(fā)。實現(xiàn)Java的可視化開發(fā)
    發(fā)表于 01-10 10:38 ?5次下載
    如何使用Myeclipse進(jìn)行java可視<b class='flag-5'>化開發(fā)</b>

    一篇讓你熟練掌握 MyBatis-Plus

    MyBatis-plus 是一款 Mybatis 增強(qiáng)工具,用于簡化開發(fā),提高效率。下文使用縮寫 mp來簡化表示 MyBatis-plus,
    的頭像 發(fā)表于 06-01 09:30 ?2600次閱讀
    一篇讓你熟練掌握 <b class='flag-5'>MyBatis-Plus</b>!

    Mybatis-Plus Mybatis增強(qiáng)工具包

    ./oschina_soft/gitee-mybatis-plus.zip
    發(fā)表于 06-13 11:34 ?1次下載
    <b class='flag-5'>Mybatis-Plus</b> <b class='flag-5'>Mybatis</b>增強(qiáng)工具包

    MyBatis-Plus的使用與測試

    本文主要介紹mybatis-plus這款插件,針對springboot用戶。包括引入,配置,使用,以及擴(kuò)展等常用的方面做一個匯總整理,盡量包含大家常用的場景內(nèi)容。
    的頭像 發(fā)表于 08-22 11:56 ?1311次閱讀

    Fluent Mybatis、原生MybatisMybatis Plus對比

    mapper中再組裝參數(shù)。那對比原生Mybatis, Mybatis Plus或者其他框架,F(xiàn)luentMybatis提供了哪些便利呢?
    的頭像 發(fā)表于 09-15 15:41 ?1431次閱讀

    SpringBoot中MybatisX插件的簡單使用教程

    MybatisX 是一款基于 IDEA 的快速開發(fā)插件,方便在使用mybatis以及mybatis-plus開始時簡化繁瑣的重復(fù)操作,提高開發(fā)
    的頭像 發(fā)表于 02-21 09:49 ?1285次閱讀

    MyBatis-Plus為什么不支持聯(lián)表

    MyBatis Plus Join`一款專門解決MyBatis Plus 關(guān)聯(lián)查詢問題的擴(kuò)展框架,他并不一款全新的框架,而是基于`MyBatis
    的頭像 發(fā)表于 02-28 15:19 ?2451次閱讀
    <b class='flag-5'>MyBatis-Plus</b>為什么不支持聯(lián)表

    介紹一款基于Mybatis-Plus的代碼自助生成器

    在基于Mybatis開發(fā)模式中,很多開發(fā)者還會選擇Mybatis-Plus來輔助功能開發(fā),以此提高開發(fā)
    的頭像 發(fā)表于 05-23 14:16 ?1140次閱讀
    介紹一款基于<b class='flag-5'>Mybatis-Plus</b>的代碼自助生成器

    如何調(diào)優(yōu)MyBatis 25倍性能

    最近在壓測一批接口,發(fā)現(xiàn)接口處理速度慢的有點超出預(yù)期,感覺很奇怪,后面定位發(fā)現(xiàn)是數(shù)據(jù)庫批量保存這塊很慢。 這個項目用的是 mybatis-plus,批量保存直接用的是 mybatis-plus 提供的 saveBatch。 我點進(jìn)去看了下源碼,感覺有點不太對勁
    的頭像 發(fā)表于 05-30 09:56 ?600次閱讀
    如何調(diào)優(yōu)<b class='flag-5'>MyBatis</b> 25倍性能

    CRUD如何簡化開發(fā)

    本篇文章,我們通過 MyBatis Plus 來對一張表進(jìn)行 CRUD 操作,來看看是**如何簡化我們開發(fā)的****。 1、創(chuàng)建測試表 創(chuàng)建 USER 表: DROP TABLE IF
    的頭像 發(fā)表于 09-25 15:43 ?495次閱讀
    CRUD如何<b class='flag-5'>簡化開發(fā)</b>

    mybatis和mybatisplus的區(qū)別

    個輕量級的持久層框架,它提供了一個靈活的SQL映射機(jī)制,使得開發(fā)者可以編寫原生SQL語句來操作數(shù)據(jù)庫。MyBatis的設(shè)計目標(biāo)是將原生SQL和對象關(guān)系映射(ORM)相結(jié)合,以便開發(fā)者可以靈活地操作數(shù)據(jù)庫。 而
    的頭像 發(fā)表于 12-03 11:53 ?2547次閱讀

    mybatis框架的主要作用

    。MyBatis框架的主要作用包括以下幾個方面。 數(shù)據(jù)庫操作的簡化和標(biāo)準(zhǔn)化: MyBatis框架提供了一種簡單的方式來執(zhí)行數(shù)據(jù)庫操作,包括插入、更新、刪除和查詢等操作。通過使用MyBatis
    的頭像 發(fā)表于 12-03 14:49 ?2025次閱讀
    主站蜘蛛池模板: qvod电影| 2021久久精品免费观看| 小莹的性荡生活40章| 亚洲大码熟女在线| 一本道的mv中文字幕| 4438成人情人网站| 差差差差差差差差免费观看| 国产国产人免费观看在线视频| 国产亚洲精品久久久闺蜜| 日日噜噜夜夜狠狠扒开双腿| 入禽太深视频免费视频| 亚洲高清在线mv| 中文字幕免费在线视频| ewp系列虐杀在线视频| 国产精品免费久久久久影院| 精品午夜中文字幕熟女人妻在线| 美国caopo超碰在线视频| 日本护士hd| 亚洲欧美精品无码大片在线观看| 《乳色吐息》无删减版在线观看 | 樱花草在线观看影院| 99久久久久精品国产免费麻豆 | 国产精品热久久高潮AV袁孑怡 | 国产精品自产拍在线观看网站| 精品国产乱码久久久人妻| 暖暖视频在线高清播放| 污文乖不疼的| 91成品视频| 国产免费变态视频网址网站| 麻豆精品一卡2卡三卡4卡免费观看| 色戒西瓜视频| 在线亚洲国产日韩欧洲专区| 国产AV麻豆出品在线播放| 久久国产免费一区二区三区| 日本熟妇乱人伦A片精品软件| 亚洲欧美日本国产在线观18| proburn中文破解版下载| 国自产精品手机在线视频| 热综合一本伊人久久精品| 亚洲一区精品在线| 高清日本片免费观看|