博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ibatis动态语句中的prepend
阅读量:6322 次
发布时间:2019-06-22

本文共 640 字,大约阅读时间需要 2 分钟。

关于ibatis动态sql的prepend的属性,我们需要理解一下几点

select * from student

<dynamic prepend="where">
 <isNotNull property="id" prepend="and">
  id = #id#
 </isNotNull>
 <isNotNull property="name" prepend="and">
  name like '%$name$%'
 </isNotNull>
</dynamic>

 

要点一  prepend是添加在动态语句的前面

and是添加在id = #id#,同样and是添加在name like '%$name$%'前面

 

要点二  dynamic中首个prepend被忽略

按照要点一说法,语句select * from studnet and id = #id#就会出现问题了。其实若<isNotNull>写在<dynamic>里,且包含prepend,第一个isNotNull的prepend会被忽略。有的人会说,id不加prepend,变成<isNotNull property="id">?那就错了,因为name前面的and会被过滤掉了,会出错。  

要点三  明白了要点二,可以理解拼接语句中遇到的一些错误问题

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1021949如需转载请自行联系原作者

woshixuye111

你可能感兴趣的文章
云服务正在吞噬世界!
查看>>
高性能 Lua 技巧(译)
查看>>
区分指针、变量名、指针所指向的内存
查看>>
最近话题火爆的四件事你知道不?
查看>>
SpringBoot整合MyBatis
查看>>
Android 类库书签更新(一)
查看>>
Unity3D Input按键系统
查看>>
简单的一条SQL,不简单的做事思维 NOT IN 、NOT EXISTS、LEFT JOIN用法差别 ...
查看>>
DataWorks:任务未运行自助排查
查看>>
ionic/cordova热部署
查看>>
「镁客早报」特斯拉裁员,马斯克解释没有办法;微软推出Azure DevOps赏金计划...
查看>>
centos 7.4 使用 pgxc_ctl 安装与使用
查看>>
【数据库】表分区
查看>>
nutz-sqltpl 1.3.4.RELEASE 发布,在 Nutz 项目中“解决 Java 拼接 SQL”问题
查看>>
城市 | 800个地铁站数据透析的京沪白领图鉴:隐形土豪、无产中产阶级和猪猪女孩...
查看>>
前端脚本!网站图片素材中文转英文
查看>>
linux的常用易忘命令
查看>>
java 基于QRCode、zxing 的二维码生成与解析
查看>>
img垂直水平居中与div
查看>>
防恶意注册的思考
查看>>