国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MyBatis-Plus使用條件構(gòu)造器實現(xiàn)不同條件的查詢,更新刪除操作

這篇具有很好參考價值的文章主要介紹了MyBatis-Plus使用條件構(gòu)造器實現(xiàn)不同條件的查詢,更新刪除操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Wrapper 是所有條件構(gòu)造器的父類,作用是生成條件語句,即where后面的sql子句

在調(diào)用查詢,更新,刪除操作時,需要根據(jù)條件進行判斷,可以使用條件構(gòu)造器進行組合條件,生成where后面條件子句

QueryWrapper,UpdateWrapper

LambdaQueryWrapper,LambdaUpdateWrapper

UpdateWrapper提供了set方法,可以設置更新后的數(shù)據(jù)
QueryWrapper,可以對查詢,更新,刪除操作進行條件組合

LambdaQueryWrapper、LambdaUpdateWrapper支持Lambda表達式,可以通過Lambda表達式獲取到對應的字段,省去字段名的編寫

有Lambda前綴的,表示支持Lambda表達式

application.yml

server:
  port: 8080

  #數(shù)據(jù)源配置
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatisplus212?characterEncoding=utf-8&serverTimezone=UTC
    username: root
    password: 123456

    type: com.zaxxer.hikari.HikariDataSource
mybatis-plus:
  configuration:
    #配置日志信息
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    #配置mapper映射文件的位置,默認在類路徑/mapper*.xml
  mapper-locations: classpath:/mapper/*.xml
  #設置指定包下所有類設置類型別名
  type-aliases-package: com.dzqc.pojo
  global-config:
    db-config:
      #統(tǒng)一設置實體類對應的數(shù)據(jù)表的默認前綴
      table-prefix: t_
      #設置主鍵自增
      id-type: auto

Wrapper測試類文章來源地址http://www.zghlxwxcb.cn/news/detail-609368.html

package com.dzqc;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.dzqc.pojo.User;
import com.dzqc.service.IUserService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;

import java.util.List;

/**
 * 測試條件構(gòu)造器
 * 組合where后面條件子句
 * QueryWrapper
 * UpdateWrapper
 */
@SpringBootTest
public class WrapperTest {

    @Autowired
    private IUserService userService;

    @Test
    public void testWapperTest(){
        //根據(jù)id查詢用戶信息
        //select*from t_user  where id=4
        //創(chuàng)建條件構(gòu)造器
        QueryWrapper<User> objectQueryWrapper = new QueryWrapper<>();
        //組合條件 連綴操作
        objectQueryWrapper.eq("u_id",4)
                .likeRight("u_name","李")
                .ge("age",20)
                .isNotNull("email");
        List<User> list = userService.list(objectQueryWrapper);
        System.out.println("list = " + list);
    }
    //測試 并且 或者 條件
    @Test
    public void testWrapper(){
        //更新  年齡大于20 或者 郵箱不為空的  用戶姓名 為  小章
        // UPDATE t_user SET u_name=? WHERE is_delete=0 AND (age > ? OR email IS NULL)
        //創(chuàng)建 條件構(gòu)造器
        UpdateWrapper<User> updateWrapper = new UpdateWrapper<>();
        updateWrapper.gt("age",25)
                .or()
                .isNull("email");
        //更新后用戶數(shù)據(jù)
        User user = new User();
        user.setName("李華");
        boolean update = userService.update(user, updateWrapper);
        System.out.println("update = " + update);
    }
    //測試刪除
    @Test
    public void testWrappper2(){
        QueryWrapper<User> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("u_id",2).or().isNotNull("age");
        boolean remove = userService.remove(objectQueryWrapper);
        System.out.println("remove = " + remove);
    }
    @Test
    public void testWrapper3(){
        LambdaQueryWrapper<User> objectLambdaQueryWrapper = new LambdaQueryWrapper<>();
        objectLambdaQueryWrapper.ge(User::getId,2)
                .likeRight(User::getName,"李")
                .ge(User::getAge,24)
                .isNotNull(User::getEmail);

        List<User> list = userService.list(objectLambdaQueryWrapper);
        list.forEach(System.out::println);
    }
    @Test
    public void testWrapper7(){
        //更新
        LambdaUpdateWrapper<User> objectLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        objectLambdaUpdateWrapper.isNull(User::getEmail);
        //更新后數(shù)據(jù)
        objectLambdaUpdateWrapper.set(User::getAge,18);
        boolean update = userService.update(null, objectLambdaUpdateWrapper);
        System.out.println("update = " + update);
    }
    @Test
    public void testWrapper8(){
        Integer age=19;
        //查詢年齡不為空的用戶信息,進行刪除
        LambdaUpdateWrapper<User> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
        lambdaUpdateWrapper.eq(User::getName,"王五")
                .or()
                .isNotNull(User::getEmail)
                .isNotNull(User::getAge);
        boolean remove = userService.remove(lambdaUpdateWrapper);
        System.out.println("remove = " + remove);

    }
}

到了這里,關(guān)于MyBatis-Plus使用條件構(gòu)造器實現(xiàn)不同條件的查詢,更新刪除操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • MyBatis-Plus條件構(gòu)造器[常用的模糊查詢、排序查詢、邏輯查詢和指定字段查詢案例]

    MyBatis-Plus條件構(gòu)造器[常用的模糊查詢、排序查詢、邏輯查詢和指定字段查詢案例]

    Mybatis-Plus知識點[MyBatis+MyBatis-Plus的基礎運用]_心態(tài)還需努力呀的博客-CSDN博客? Mybatis-Plus+SpringBoot結(jié)合運用_心態(tài)還需努力呀的博客-CSDN博客 MyBaits-Plus中@TableField和@TableId用法_心態(tài)還需努力呀的博客-CSDN博客 MyBatis-Plus中的更新操作(通過id更新和條件更新)_心態(tài)還需努力呀的博客

    2024年02月06日
    瀏覽(62)
  • 【MyBatis Plus】深入探索 MyBatis Plus 的條件構(gòu)造器,自定義 SQL語句,Service 接口的實現(xiàn)

    【MyBatis Plus】深入探索 MyBatis Plus 的條件構(gòu)造器,自定義 SQL語句,Service 接口的實現(xiàn)

    在前文中,介紹了 MyBatis Plus 的一些基礎功能,我們發(fā)現(xiàn)使用MyBatis Plus 可以非常簡單的就實現(xiàn)對單表的增刪改查操作。但是這些操作對應的 SQL 語句都非常簡單,如果是面對一些復雜的 SQL 或者多表查詢這樣的情況,就需要我們自己來重新組織 SQL 語句了。 本文將重點探索 M

    2024年02月07日
    瀏覽(29)
  • Java中使用es條件構(gòu)造器BoolQueryBuilder

    由于es在java中查詢沒法像mybatis那樣方便,而且es的構(gòu)造器使用也比較繁瑣,理解不是很方便,所以寫一篇文章來記錄es構(gòu)造器BoolQueryBuilder查詢時各種條件的構(gòu)造的正確姿勢。 1.構(gòu)造準備 2.條件構(gòu)造 must可用filter代替,查詢效率會更高,因為must會對結(jié)果進行_score評估 3.構(gòu)造完成

    2024年02月11日
    瀏覽(23)
  • Mybatisplus 傳參參數(shù)為自定義sql, 使用條件構(gòu)造器作為參數(shù)

    1?pom依賴 2?mapper?接口文件 3 mapper?的xml配置文件 4?查詢 5?測試,生成的兩個sql語句如下 注意 :不同的版本,可能會有部分區(qū)別,總之注意下版本

    2024年02月22日
    瀏覽(23)
  • MybatisPlus-CRUD,不帶條件構(gòu)造器的常用方法

    BaseMapper中封裝好了增刪改查的方法 后面直接調(diào)用就好了 測試類 ----------------------------------------------------------------- ServiceImpl中封裝了方法(特別注意批量添加只有serviceImpl中有) 測試類

    2024年02月14日
    瀏覽(32)
  • MyBatisPlus詳解(二)條件構(gòu)造器Wrapper、自定義SQL、Service接口

    MyBatisPlus詳解(二)條件構(gòu)造器Wrapper、自定義SQL、Service接口

    MyBatisPlus詳解系列文章: MyBatisPlus詳解(一)項目搭建、@TableName、@TableId、@TableField注解與常見配置 2.1.1 Wrapper 在BaseMapper接口提供的相關(guān)方法中,除了以id作為where條件, 還支持更加復雜的where條件,即條件構(gòu)造器Wrapper : Wrapper是條件構(gòu)造器的抽象類,其下有很多默認實現(xiàn),繼承

    2024年04月25日
    瀏覽(26)
  • 【Spring】淺談spring為什么推薦使用構(gòu)造器注入

    因本人實力有限,該文章主要內(nèi)容(在文章基礎上加了點點東西)均來自: 原文鏈接:https://www.cnblogs.com/joemsu/p/7688307.html 作者:joemsu ? Spring框架對Java開發(fā)的重要性不言而喻,其核心特性就是IOC(Inversion of Control, 控制反轉(zhuǎn))和AOP,平時使用最多的就是其中的IOC,我們通過

    2024年02月13日
    瀏覽(24)
  • Java中構(gòu)造器詳解(類的五成員之三:構(gòu)造器)

    先看文章目錄,大致了解知識點結(jié)構(gòu),直接點擊文章目錄可以跳轉(zhuǎn)到文章指定位置。 Java的基本單位是類,類中包含五個部分,這篇寫的是 構(gòu)造器 。 (1)變量 (2)方法 (3)構(gòu)造器 (4)初始化塊 (5)內(nèi)部類 ①構(gòu)造器是處于Java類中的一個方法,最大的作用創(chuàng)建對象時執(zhí)行

    2024年02月08日
    瀏覽(24)
  • Mybatis-plus動態(tài)條件查詢QueryWrapper的使用

    Mybatis-plus動態(tài)條件查詢QueryWrapper的使用

    queryWrapper是mybatis plus中實現(xiàn)查詢的對象封裝操作類,可以封裝sql對象,包括where條件,order by排序,select哪些字段等等,他的層級關(guān)系如下圖: 2.1-案例一:根據(jù)name模糊查看未刪除的用戶列表信息 過濾條件: queryWrapper實現(xiàn): 2.2-案例二:查看姓李的并且郵箱不為空的用戶列表

    2024年02月14日
    瀏覽(22)
  • 7.5 構(gòu)造器詳解

    7.5 構(gòu)造器詳解 類中的構(gòu)造器也稱為構(gòu)造方法,是在進行創(chuàng)建對象的時候必須要調(diào)用的。并且構(gòu)造器有以下兩個特點: 必須和類的名字相同 必須沒有返回類型,也不能寫void 一個類即使什么都不寫都會存在一個構(gòu)造方法。 構(gòu)造器的作用 可以實例化一些初始值,比如一些游戲

    2024年02月14日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包