- 浏览: 7855350 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
IBATIS中关于iterate和‘$’与‘#’的应用
一个包含List元素的HashMap参数赋给sqlMap
public int getCountById(String id, String title, List ids) throws Exception {
Map paramMap=new HashMap();
paramMap.put("id", id);
paramMap.put("title", title);
paramMap.put("ids",ids);
return (int) this.sqlMapClient.queryForObject("getCountById", paramMap);
}
上面的ids元素是一个List,里面包含了一个id列表。id和title都是String。
<select id="getOrderformByBiOid" parameterClass="java.util.HashMap" resultMap="Result">
select *
from MYTABLE
<dynamic prepend="where">
<isNotNull prepend="and" property="id">
ID=#id#
</isNotNull>
<isNotNull prepend="and" property="title">
TITLE like '%$title$%'
</isNotNull>
<isNotNull prepend="and" property="ids">
IDS in
<iterate property="ids" open="(" close=")" conjunction=",">
#ids[]#
</iterate>
</isNotNull>
</dynamic>
order by TIME DESC
</select>
在上面的sqlMap中要注意的地方有两个。第一个地方是,<iterate>标签中一定要记得写property="ids",不要因为在上面的
<isNotNull prepend="and" property="ids">标签中判断了该属性,就在<iterate>这个标签中忽略了property的书写(如果你忘了
写iterate中的property属性的话系统会报这样的错误Cause: com.ibatis.sqlmap.client.SqlMapException: ParameterObject or
property was not a Collection, Array or Iterator.),并且要记住,
#ids[]# 中的‘[]’符号,只有这样ibatis才把ids作为一个可迭代的对象(list,数组...),不然的话ibatis会把ids作为普通的string来处理。
第二个地方就是,上面的关于‘$‘与‘#’的应用。
下面就来说说关于‘$‘与‘#’的应用。在通常情况下ibatis的参数在sqlmap中使用#param#的形式,参数名以’#‘包着,但当使用
sql的like语句时就发生了问题,在单引号中无法使用#param#这种形式。解决办法有:
1.当应用select * from table1 where col like ’value%’时,如果要把‘value’以参数代替,可以把整个like后面的字符串
全改为参数。即:select * from table1 where col like #param# ,此时参数param的值为字符串"value%"
2.使用‘$’将参数名包起来。例如:name like ‘%#name#%’。我们的解决方法有2。(a)把name like ‘%#name#%’的
#换成$,即:name like ‘%$name$%’。(b)用||连接字符串的方式,写成,name like ‘%’|| #name#‘%’。
一个包含List元素的HashMap参数赋给sqlMap
public int getCountById(String id, String title, List ids) throws Exception {
Map paramMap=new HashMap();
paramMap.put("id", id);
paramMap.put("title", title);
paramMap.put("ids",ids);
return (int) this.sqlMapClient.queryForObject("getCountById", paramMap);
}
上面的ids元素是一个List,里面包含了一个id列表。id和title都是String。
<select id="getOrderformByBiOid" parameterClass="java.util.HashMap" resultMap="Result">
select *
from MYTABLE
<dynamic prepend="where">
<isNotNull prepend="and" property="id">
ID=#id#
</isNotNull>
<isNotNull prepend="and" property="title">
TITLE like '%$title$%'
</isNotNull>
<isNotNull prepend="and" property="ids">
IDS in
<iterate property="ids" open="(" close=")" conjunction=",">
#ids[]#
</iterate>
</isNotNull>
</dynamic>
order by TIME DESC
</select>
在上面的sqlMap中要注意的地方有两个。第一个地方是,<iterate>标签中一定要记得写property="ids",不要因为在上面的
<isNotNull prepend="and" property="ids">标签中判断了该属性,就在<iterate>这个标签中忽略了property的书写(如果你忘了
写iterate中的property属性的话系统会报这样的错误Cause: com.ibatis.sqlmap.client.SqlMapException: ParameterObject or
property was not a Collection, Array or Iterator.),并且要记住,
#ids[]# 中的‘[]’符号,只有这样ibatis才把ids作为一个可迭代的对象(list,数组...),不然的话ibatis会把ids作为普通的string来处理。
第二个地方就是,上面的关于‘$‘与‘#’的应用。
下面就来说说关于‘$‘与‘#’的应用。在通常情况下ibatis的参数在sqlmap中使用#param#的形式,参数名以’#‘包着,但当使用
sql的like语句时就发生了问题,在单引号中无法使用#param#这种形式。解决办法有:
1.当应用select * from table1 where col like ’value%’时,如果要把‘value’以参数代替,可以把整个like后面的字符串
全改为参数。即:select * from table1 where col like #param# ,此时参数param的值为字符串"value%"
2.使用‘$’将参数名包起来。例如:name like ‘%#name#%’。我们的解决方法有2。(a)把name like ‘%#name#%’的
#换成$,即:name like ‘%$name$%’。(b)用||连接字符串的方式,写成,name like ‘%’|| #name#‘%’。
发表评论
-
复习:强迫线程顺序执行方式
2019-01-03 23:42 1481方法1: 三个线程,t1,t2,t3,如果一定要按顺序执行, ... -
(转)不错的前后端处理异常的方法
2019-01-02 23:16 1967前言 在 Web 开发中, 我们经常会需要处理各种异常, 这是 ... -
info q的极客时间大咖说等资料下载
2018-08-15 08:40 3416info q的极客时间大咖说等资料下载,还有不少思维导图 链 ... -
CXF 客户端超时时间设置(非Spring配置方式)
2018-07-03 22:38 2186import org.apache.cxf.endpoint. ... -
(转)synchronized关键字画像:正确打开方式
2018-06-14 09:25 449https://mp.weixin.qq.com/s/b3Sx ... -
CountDownLatch的例子
2018-06-13 14:10 632public class StatsDemo { ... -
两道面试题,带你解析Java类加载机制
2018-06-12 16:29 555https://mp.weixin.qq.com/s/YTa0 ... -
Spring中获取request的几种方法,及其线程安全性分析
2018-06-11 09:03 624https://mp.weixin.qq.com/s/KeFJ ... -
内部类小结
2018-06-06 10:25 398https://mp.weixin.qq.com/s/hErv ... -
JVM虚拟机小结1
2018-06-04 20:43 4641 jps -l //列出详细的类名和进程ID 2)jps ... -
windows下自带命令行工具查看CPU资源情况等
2018-06-04 12:53 3041微软提供了不少命令行 ... -
(收藏)深入分析Java的序列化与反序列化
2018-05-30 15:21 557https://mp.weixin.qq.com/s/T2Bn ... -
apache common包中的序列化工具
2018-05-30 09:10 1776什么是序列化 我们的 ... -
JAVA8 JVM的变化: 元空间(Metaspace)
2018-05-24 22:30 913本文将会分享至今为至我收集的关于永久代(Permanent G ... -
(转)服务器性能指标(一)——负载(Load)分析及问题排查
2018-05-21 21:03 1264原创: Hollis Hollis 负载 ... -
(转)对象复用
2018-05-20 15:27 808public class Student { priv ... -
mapreduce中入门中要注意的几点
2018-05-06 08:59 621在 mapreduce中,比如有如下的词: I love b ... -
HDFS的基本操作
2018-05-02 21:47 883-mkdir 在HDFS创建目录 ... -
一个不错的开源工具类,专门用来解析日志头部的,好用
2018-05-02 20:00 710一个不错的开源工具类,专门用来解析日志头部的,好用。 http ... -
介绍个不错的RESTFUL MOCK的工具wiremock
2018-04-27 21:02 1855介绍个不错的RESTFUL MOCK的工具wiremock,地 ...
相关推荐
NULL 博文链接:https://duqiangcise.iteye.com/blog/286764
iBATIS动态标签 §<dynamic>标签 §二元标签 §一元标签 §<iterate>标签 § 共同的属性 prepend,open,close <dynamic>标签 §<dynamic>标签 §属性 prepend,open,close 二元条件标签
ibatis中 $ 于 # 的 区别 ibatis中 $ 于 # 的 区别
DOCTYPE sqlMapConfig<br>PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN"<br>"http://www.ibatis.com/dtd/sql-map-config-2.dtd"><br><sqlMapConfig><br><settings<br>cacheModelsEnabled="true"<br>...
”<br><br>但别犯愁:SQL本身具备了一些重要的功能,并且通过模板的使用,在Spring应用中采用iBATIS显得轻而易举。在此摘录中,两位作者将和你一起安装iBATIS并将其集成进你的Spring应用中。他们也阐明了怎样取得你...
ibatise中关于iterate的用法的例子
虽然ibatai sql map可以配置多个参数,但sqlMap只能传入一个参数,我们有两种方式,一是把我们的参数封装成一个类,通过set/get取值的方式给sql map注入参数,二是通过hashMap(可以组合一些不是同一个pojo的参数有...
14.5<br>1.32<br><br>1.21<br><br>插入实体<br><br>(20次insert)<br>36.1<br>17.4<br>2.07<br><br>更新实体<br><br>(20次单条update)<br>23.5<br>15.9<br><br>SqlMap:20.3<br>1.48<br><br>1.16<br><br>查询结果集...
<br>ext学习笔记一<br>小试iBatis<br>RIA(Rich Internet Application)的现状和未来<br>Java应用中域名解析不过期的解决方法<br>Java编程那些事儿45—数组使用示例1<br>一步步熟悉OFBiz<br>用Java做客户端调用.NET写...
最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 <bean id="sqlMapClient" class="org.spring...
相对Hibernate和Apache OJB 等“一站式”ORM解决方案而言,ibatis 是一种“半<br>自动化”的ORM实现。<br>所谓“半自动”,可能理解上有点生涩。纵观目前主流的ORM,无论Hibernate 还是<br>Apache OJB,都对数据库...
功能:当你建立好数据库,写好javabean,就可以用这个工具来为你的javabean和数据库之间做一个映射.<br>当然这个映射只是一个大致的模板,很多时候你可能要稍做修改.但是也为你节约了很多的时间.<br><br>使用方法:<br>1....
<br>“……一种解释Spring中各个主题的很好途径……我喜欢这本书”<br>——Christian Parker,Adigio公司总裁<br>“……没有其他书籍可以与这本书的实用性相提并论。”<br>——Olivier Jolly,J2EE构架师,Interface...
“……一种解释Spring中各个主题的很好途径……我喜欢这本书”<br> ——Christian Parker,Adigio公司总裁<br> “……没有其他书籍可以与这本书的实用性相提并论。”<br> ——Olivier Jolly,J2EE构架师,Interface ...
“……一种解释Spring中各个主题的很好途径……我喜欢这本书”<br> ——Christian Parker,Adigio公司总裁<br> “……没有其他书籍可以与这本书的实用性相提并论。”<br> ——Olivier Jolly,J2EE构架师,Interface ...
“……一种解释Spring中各个主题的很好途径……我喜欢这本书”<br> ——Christian Parker,Adigio公司总裁<br> “……没有其他书籍可以与这本书的实用性相提并论。”<br> ——Olivier Jolly,J2EE构架师,Interface ...
<br>“……一种解释Spring中各个主题的很好途径……我喜欢这本书”<br>——Christian Parker,Adigio公司总裁<br>“……没有其他书籍可以与这本书的实用性相提并论。”<br>——Olivier Jolly,J2EE构架师,Interface...
<br>用Mysql和Ibatis实现数据的持久化。<br>系统具有传统论坛的基本功能,更多功能有待进一步的完善。<br><br>更多请访问:http://www.yyhweb.com<br>由由华网版权所有<br>作者:stephen<br>QQ:7348002<br>
Ibatis的主要配置文档,可以方便大家学习使用