- 1、本文档共98页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ibatis 30 Dynamic Sql 设计解析
ibatis 3.0 Dynamic Sql 设计解析
前段时间ibatis3.0发布出来了,迫不及待,将其源码下载拜读。相对ibatis 2.x来说,3.0已是完全改变。具体我就不在这细说,论坛中有一个帖子介绍了ibatis 3.0的新特征及使用。
?? ? ?由于其他模块的源码我还未细读,在这篇中,先来讨论Dynamic Sql在ibatis 3.0中的实现并比较2.x对应模块的设计。
?
写在前头的话:
?? ? ?其实如从设计模式应用角度去看待ibatis 3.0中Dynamic Sql的实现,这篇跟我的上篇(HtmlParser设计解析(1)-解析器模式)相同,都是使用Interpreter模式。
?? ? ?这篇权当Interpreter模式的另一个demo,认我们体会这些开源项目中设计模式的使用。学习都是从模仿开始的,让 我们吸收高人们的经验,应用于我们实践项目需求中。
?
?? 从总结中提高:
?? 一、对比2.x中与3.0的Sqlmap中dynamic sql配置
?? 2.x:
Xml代码
select?id=dynamicGetAccountList?parameterClass=Account?resultClass=Account? ??
??????select?ACC_ID?as?id, ??
??????ACC_FIRST_NAME?as?firstName, ??
??????ACC_LAST_NAME?as?lastName, ??
??????ACC_EMAIL?as?emailAddress?from?ACCOUNT ??
?????? ??
????dynamic?prepend=WHERE??
??????isNotNull?prepend=AND?property=emailAddress??
????????ACC_EMAIL?=?#emailAddress# ??
??????/isNotNull??
??????isNotNull?property=idList?prepend=?or?ACC_ID?in???? ??
????????iterate?property=idList?conjunction=,?open=(?close=)???? ??
????????????#id#?? ??
????????/iterate??? ??
??????/isNotNull??? ??
????/dynamic??
/select??
select id=dynamicGetAccountList parameterClass=Account resultClass=Account
select ACC_ID as id,
ACC_FIRST_NAME as firstName,
ACC_LAST_NAME as lastName,
ACC_EMAIL as emailAddress from ACCOUNT
dynamic prepend=WHERE
isNotNull prepend=AND property=emailAddress
ACC_EMAIL = #emailAddress#
/isNotNull
isNotNull property=idList prepend= or ACC_ID in
iterate property=idList conjunction=, open=( close=)
#id#
/iterate
/isNotNull
/dynamic
/select
?
?? 3.0:
?
Xml代码
select?id=dynamicGetAccountList?parameterType=Account?resultType=Account??
??????select?ACC_ID?as?id, ??
??????ACC_FIRST_NAME?as?firstName, ??
??????ACC_LAST_NAME?as?lastName, ??
??????ACC_EMAIL?as?emailAddress?from?ACCOUNT ??
??
????where??
????????if?test=emailAddress?!=?nullACC_EMAIL?=?#{emailAddress}/if??
????????if?test=idList?!=?null??
????????????or?ACC_ID?IN ??
????????????foreach?item=
您可能关注的文档
最近下载
- 人教版五年级下册数学必背知识.doc VIP
- 2024计算机行业专题研究:英伟达GTC大会发布Blackwell平台,引领加速计算新时代.pdf
- 2024-信息技术-人工智能行业-英伟达GTC大会要点梳理-中信建投-41页.pdf
- 《巡店报告模板》课件.pptx VIP
- 人教版九年级全一册英语全册教案(完整版)教学设计含教学反思.pdf
- 苏教版小学六年级上册数学期末总复习试卷题目.doc VIP
- 2025年吉林省长春市中考数学模拟试卷附答案解析.pdf
- 仙剑奇侠传三图文攻略超级详细-仙剑奇侠传三官方攻略.pdf VIP
- AX-Synth中文说明书.pdf
- 家庭教育心得分享主题班会PPT课件.pptx VIP
文档评论(0)