ibatis动态语句中的prepend

简介:

关于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会被过滤掉了,会出错。

 


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

 


 

目录
相关文章
|
存储 人工智能 架构师
ChatGPT 与软件架构 (4) - 架构师提示工程指南
ChatGPT 与软件架构 (4) - 架构师提示工程指南
381 0
|
SQL 存储 缓存
Paimon与Spark
Paimon与Spark
506 1
|
存储 Java
JDK下载和安装及介绍
JDK下载和安装及介绍
1429 0
|
10月前
|
前端开发 JavaScript
electron ui框架
Electron是一个使用JavaScript, HTML和CSS等前端技术构建跨平台桌面应用程序的框架。
551 0
|
10月前
|
存储 Java 编译器
java wrapper是什么类
【10月更文挑战第16天】
199 3
|
机器学习/深度学习 数据采集 人工智能
深度学习中的大模型「幻觉」问题:解析、原因及未来展望
深度学习中的大模型「幻觉」问题:解析、原因及未来展望
2610 0
|
存储 缓存 算法
交换机转发机制:存储转发与直通转发
交换机转发机制:存储转发与直通转发
1860 1
|
存储 运维 JavaScript
云HIS是什么?HIS系统为什么要上云?云HIS有哪些优点?
云HIS的主要功能作用是提供四个面向的服务,即面向居民的健康服务、面向医疗机构的医疗服务、面向各级管理机关的卫生管理服务、面向其它卫生机构的卫生协同服务。
1008 1
|
KVM 虚拟化 云计算
Windows 10 |VMware开启虚拟化的最全面说明
Windows 10 |VMware开启虚拟化的最全面说明
1574 0
no required module provides package github.com/gorilla/mux
no required module provides package github.com/gorilla/mux
429 0