MP、MybatisPlus、联表查询、自定义sql、Constants.WRAPPER、ew (二)

描述: 给定一个id列表,更新对应列表中动物的年龄,使得年龄都较少一岁。

要求:使用条件构造器构造条件。

mapper:

java 复制代码
   void updateAnimalAge(@Param(Constants.WRAPPER) Wrapper<Animal> wrapper, @Param("age") int reducedAge);

xml:

sql 复制代码
    <update id="updateAnimalAge">
        update `animal` set `age` = `age` - #{age}
        <where>
           ${ew.sqlSegment}
        </where>
    </update>

service:

java 复制代码
    @org.junit.Test
    public void test() {
        ArrayList<String> strings = Lists.newArrayList();
        strings.add("1775e2db7fb5e0d9b8e98d4137f58b91");
        strings.add("23d210703b33bd67b901e147f874a831");

        int reducedAge = 1;

        LambdaQueryWrapper<Animal> wrapper = new QueryWrapper<Animal>().lambda();

        wrapper.in(Animal::getId,strings);


        this.animalMapper.updateAnimalAge(wrapper,reducedAge);
//
//        if (successful.size() > 0) {
//            System.out.println("success!!");
//        } else {
//            System.out.println("failed!!");
//        }
        
    }

sql:

sql 复制代码
JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@3c50ad4b] will not be managed by Spring
==>  Preparing: update `animal` set `age` = `age` - ? WHERE (id IN (?,?)) 
==> Parameters: 1(Integer), 1775e2db7fb5e0d9b8e98d4137f58b91(String), 23d210703b33bd67b901e147f874a831(String)
<==    Updates: 2
相关推荐
码海扬帆:前端探索之旅2 分钟前
深度定制 uni-combox:新增功能详解与实战指南
前端·vue.js·uni-app
xqqxqxxq3 分钟前
Java AI智能P图工具技术笔记
java·人工智能·笔记
HalvmånEver7 分钟前
MySQL的增删改查命令合集合集
数据库·sql·oracle
谷雨不太卷8 分钟前
进程的状态码
java·前端·算法
打小就很皮...10 分钟前
基于 Python + LangChain + RAG 的知识检索系统实战
前端·langchain·embedding·rag
顾温12 分钟前
default——C#/C++
java·c++·c#
BJ-Giser19 分钟前
Cesium 烟雾粒子特效
前端·可视化·cesium
空中海19 分钟前
02 ArkTS 语言与工程规范
java·前端·spring
楚国的小隐士28 分钟前
在AI时代,如何从0接手一个项目?
java·ai·大模型·编程·ai编程·自闭症·自闭症谱系障碍·神经多样性
不剪发的Tony老师32 分钟前
dblab:一款基于终端的交互式数据库客户端
数据库·sql