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


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

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

     mapper

       void updateAnimalAge(@Param(Constants.WRAPPER) Wrapper wrapper, @Param("age") int reducedAge);
    

    xml

    1. <update id="updateAnimalAge">
    2. update `animal` set `age` = `age` - #{age}
    3. <where>
    4. ${ew.sqlSegment}
    5. </where>
    6. </update>

    service:

    1. @org.junit.Test
    2. public void test() {
    3. ArrayList strings = Lists.newArrayList();
    4. strings.add("1775e2db7fb5e0d9b8e98d4137f58b91");
    5. strings.add("23d210703b33bd67b901e147f874a831");
    6. int reducedAge = 1;
    7. LambdaQueryWrapper wrapper = new QueryWrapper().lambda();
    8. wrapper.in(Animal::getId,strings);
    9. this.animalMapper.updateAnimalAge(wrapper,reducedAge);
    10. //
    11. // if (successful.size() > 0) {
    12. // System.out.println("success!!");
    13. // } else {
    14. // System.out.println("failed!!");
    15. // }
    16. }

    sql

    1. JDBC Connection [com.mysql.cj.jdbc.ConnectionImpl@3c50ad4b] will not be managed by Spring
    2. ==> Preparing: update `animal` set `age` = `age` - ? WHERE (id IN (?,?))
    3. ==> Parameters: 1(Integer), 1775e2db7fb5e0d9b8e98d4137f58b91(String), 23d210703b33bd67b901e147f874a831(String)
    4. <== Updates: 2

  • 相关阅读:
    full mesh
    分享几个.NET开源的AI和LLM相关项目框架
    git使用
    SD6.24集训总结
    JavaScript仿照移动端APP百度地图制作H5的滑动面板
    前端技术点滴整理-1
    Protobuf简介
    ROS安装应用程序
    OpenAI视频生成Sora技术简析
    谷粒商城-分布式基础项目环境搭建
  • 原文地址:https://blog.csdn.net/m0_59259076/article/details/133430887