动态 SQL

        动态 SQL 是 MyBatis 的强大特性之一,能够完成不同条件下不同的 sql 拼接。也就是说执行的 SQL 语句并不是固定的,而是不同人的不同操作执行的语句会有所差异。MyBatis 通过使用 标签 的方式来实现这种灵活性的。

<if>标签

        例如在有一些网站进行注册的时候,会要求必须输入邮箱、密码,而那些年龄性别什么的则并不是必填项。这种场景下往数据库插入就可以使用 <if> 标签来实现。

UserMapper:

int addUser2(UserEntity user);

UserMapper.xml:

    <insert id="addUser2">
        insert into userinfo(username,
                             <if test="photo != null">
                                 photo,
                             </if>
                             password) values (#{username},
                                               <if test="photo != null">
                                                   #{photo},
                                               </if>
                                               #{password})
    </insert>

单元测试 验证:

添加 photo:

不添加 photo:

<trim>标签

相关推荐

  1. <span style='color:red;'>动态</span><span style='color:red;'>sql</span>

    动态sql

    2024-06-14 10:58:07      32 阅读
  2. <span style='color:red;'>动态</span><span style='color:red;'>sql</span>

    动态sql

    2024-06-14 10:58:07      35 阅读
  3. MyBatis动态SQL(Dynamic SQL)

    2024-06-14 10:58:07       55 阅读
  4. MyBatis的动态SQL

    2024-06-14 10:58:07       54 阅读
  5. Mybatis 动态 SQL - foreach

    2024-06-14 10:58:07       55 阅读
  6. MyBatis之动态Sql

    2024-06-14 10:58:07       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 10:58:07       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 10:58:07       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 10:58:07       82 阅读
  4. Python语言-面向对象

    2024-06-14 10:58:07       91 阅读

热门阅读

  1. 在Spring中如何手动开启事务(使用编程式事务)

    2024-06-14 10:58:07       27 阅读
  2. 【Go】十三、TOKEN机制与跨域处理方式

    2024-06-14 10:58:07       22 阅读
  3. Python类,面向对象详解

    2024-06-14 10:58:07       25 阅读
  4. windows命令帮助大全

    2024-06-14 10:58:07       20 阅读
  5. Codeforces Round 952 (Div. 4)

    2024-06-14 10:58:07       29 阅读
  6. 2024.6.13 刷题总结

    2024-06-14 10:58:07       29 阅读
  7. MySql几十万条数据,同时新增或者修改

    2024-06-14 10:58:07       26 阅读
  8. ELasticSearch数据迁移方案-elasticdump

    2024-06-14 10:58:07       26 阅读
  9. 前端针对需要递增的固定数据

    2024-06-14 10:58:07       26 阅读
  10. 如果用户访问的是没有页面的路由跳转到404

    2024-06-14 10:58:07       22 阅读
  11. Spring源码学习-Resource

    2024-06-14 10:58:07       29 阅读
  12. 行列视(RCV)能解决哪些问题?

    2024-06-14 10:58:07       24 阅读
  13. easyExcel导入日期LocalDateTime等类型不匹配问题

    2024-06-14 10:58:07       30 阅读
  14. milvus的磁盘索引

    2024-06-14 10:58:07       30 阅读