18、MyBatis入门:动态SQL(set,trim)

本文详细讲解MyBatis动态SQL中set和trim标签的使用方法,通过实际案例演示如何解决更新数据库时参数为null导致的错误,并展示如何使用trim标签灵活替代where和set标签,优化SQL语句。

MyBatis基础入门《十九》动态SQL(set,trim)

描述:

  1. 问题 :

    更新用户表数据时,若某个参数为null时,会导致更新错误

  2. 分析:

    正确结果:

      若某个参数为null,则不需要更新,保持数据库原值

  3. 如何处理

    > if

    > set

ClientMapper.xml 文件

 

ClientMapper.java

 

测试方法:

 

测试结果:

 

》》》 trim

  » 属性

    > prefix

    > suffix

    > prefixOverrides

    > suffixOverrides

  » 更灵活的去除多余关键字

  » 替代 whereset

ClientMapper.xml中的查询:

where标签代码 改造前:

 

where标签代码 改造后:

 

测试代码:

 

测试结果:

 

ClientMapper.xml中的更新:

set改造前:

 

set改造后:

 

测试方法:

 

测试结果:

 

如有问题,欢迎纠正!!!

如有转载,请标明源处:https://www.cnblogs.com/Charles-Yuan/p/9904013.html

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: