码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Mybatis 动态 SQL



    动态sql的作用

    • mybatis 动态 sql 可以让我们在 xml 映射文件内,以标签的形式编写动态 sql,完成逻辑判断和动态拼接 sql 的功能

    动态sql标签

    • 判断传入的值是否符合某种规则,比如是否不为空
    • 标签可以把传入的集合对象进行遍历,然后把每一项的内容作为参数传到 sql 语句中,里面涉及到 item(具体的每一个对象),index(序号),open(开始符),close(结束符),separator(分隔符)
    • 一组组合标签,作用类似于 Java 中的 switch、case、default,只有一个条件生效,也就是只执行满足的条件 when,没有满足的条件就执行 otherwise,表示默认条件
    • 标签可以用来做动态拼接查询条件,where 元素只会在子元素返回任何内容的情况下才插入 “where” 子句;若子句的开头为 “and” 或 “or”,where 元素也会将它们去除;当和 if 标签配合的时候,不用显示的声明类似 where 1=1 这种无用的条件
    • 功能与 类似,主要用于更新操作,为了删除在 if 不符合判断条件下,多出来的 set 关键字和 “,”
    • 标签主要用在当 和 标签不符合期望的时候,可以自定义返回内容
      prefix(前缀): 在标签内有内容时,在句首增加的字段,例如:where 或者 set
      prefixOverrides(去掉的第一个标记),例如:and | or
      suffix(后缀): 在标签内有内容时,在句尾增加的字段,例如:order by id
      suffixOverriides(去掉最后一个标记),例如:“,”
    • 元素允许在 OGNL 表达式以外创建一个变量,并将其绑定到当前的上下文

    动态sql原理

    • 使用 OGNL 从 sql 参数对象中计算表达式的值,根据表达式的值动态拼接 sql,以此来完成动态 sql 的功能

    参考文章

    • https://blog.csdn.net/liyuan413050636/article/details/107635438
  • 相关阅读:
    给定一个数组,求任意个数的和,可能的结果。
    CloneNotSupportedException的解决方案 + Object的clone方法分析
    ISP技术概述
    WZOI-348机动车违章识别系统
    在 C# CLR 中学习 C++ 之了解 extern
    ASPICE系列:顺利通过ASPICE流程软件单元验证(SWE.4)
    C/C++预定义宏、 #line 、#error、 #pragma和泛型选择
    希望已有的异步函数内部添加部分同步逻辑,但是外部不需要使用await接收返回值实现方法——匿名函数
    Redis系列:内存淘汰策略
    Java使用Hutool工具包将汉字转换成汉语拼音
  • 原文地址:https://blog.csdn.net/qq_41956014/article/details/128120906
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号