ibatis映射文件中的<dynamic>节点是作什么用的呀?
3个回答
推荐于2016-05-28 · 知道合伙人数码行家
关注
展开全部
<dynamic>元素划分出SQL语句的动态部分。动态部分可以包含任意多的条件标签元素,条件标签决定是否在语句中包含其中的SQL代码。所有的条件标签元素将根据传给动态查询Statement的参数对象的情况来工作。<dynamic>元素和条件元素都有“prepend”属性,它是动态SQL代码的一部分,在必要情况下,可以被父元素的“prepend”属性覆盖。上面的例子中,prepend属性“where”将覆盖第一个为“真”的条件元素。这对于确保生成正确的SQL语句是有必要的。例如,在第一个为“真”的条件元素中,“AND”是不需要的,事实上,加上它肯定会出错。以下小节讨论不同的条件元素,包括二元条件元素,一元条件元素和其他动态元素。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
dynamic表示动态的意思。一般在<dynamic-mapped-statement>这个标签内。 如果要用到动态标签(isNotEqaul isEmpty isNotEmpty....)的时候会用到。
<dynamic-mapped-statement name="selectall" resultmap="yourbean">
SELECT * form people
<dynamic>
<isNotEqual prepend=" where" property="param" compareValue="false">
age > 10
</isNotEqual>
</dynamic>
</dynamic-mapped-statement>
上面语句就是查询,如果param的值不为(NotEqual) false,才执行SELECT * form people where age >10 。
如果param值是false,那么就只执行SELECT * form people
<dynamic-mapped-statement name="selectall" resultmap="yourbean">
SELECT * form people
<dynamic>
<isNotEqual prepend=" where" property="param" compareValue="false">
age > 10
</isNotEqual>
</dynamic>
</dynamic-mapped-statement>
上面语句就是查询,如果param的值不为(NotEqual) false,才执行SELECT * form people where age >10 。
如果param值是false,那么就只执行SELECT * form people
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请参考下面的文章 比较全
参考资料: http://chinazzlm.blog.163.com/blog/static/161843537201109101718665/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询