Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理?
1个回答
关注
展开全部
1.动态SQL的概念
动态sql是指在进行sql操作的时候,传入的参数对象或者参数值,根据匹配的条件,有可能需要动态的去判断是否为空,循环,拼接等情况;
2.动态Sql的标签大致有以下几种
if 和 where 标签和include标签
if标签中可以判断传入的值是否符合某种规则,比如是否不为空;
where标签可以用来做动态拼接查询条件,当和if标签配合的时候,不用显示的声明类似where 1=1这种无用的条件,来达到匹配的时候and会多余的情况;
include可以把大量重复的代码整理起来,当使用的时候直接include即可,减少重复代码的编写
执行原理就是使用OGNL从sql参数对象中计算表达式的值,根据表达式的值动态拼接sql
咨询记录 · 回答于2021-11-14
Mybatis动态sql是做什么的?都有哪些动态sql?能简述一下动态sql的执行原理?
您好,您的问题我已经看到了,请稍等一下,我在整理资料五分钟之内回复您哦!感谢谅解!
1.动态SQL的概念 动态sql是指在进行sql操作的时候,传入的参数对象或者参数值,根据匹配的条件,有可能需要动态的去判断是否为空,循环,拼接等情况;2.动态Sql的标签大致有以下几种if 和 where 标签和include标签 if标签中可以判断传入的值是否符合某种规则,比如是否不为空; where标签可以用来做动态拼接查询条件,当和if标签配合的时候,不用显示的声明类似where 1=1这种无用的条件,来达到匹配的时候and会多余的情况; include可以把大量重复的代码整理起来,当使用的时候直接include即可,减少重复代码的编写执行原理就是使用OGNL从sql参数对象中计算表达式的值,根据表达式的值动态拼接sql