ibatis mysql iterate_ibatis中iterate问题的解决 | 学步园
目的:要根据分类的ID数组列表获得属于这些分类的News对象数组。
函数调用为newslist=(ArrayList)sqlMap.queryForList("getNewsByCatalogList", catalogList);
一开始直接用string的写法
xml 代码
SELECT
newsId as newsId,
title as title,
content as content,
topicId as topicId
FROM cnsv_news where cnsv_news.catalogId IN(#catalogListStr
catalogListStr为String类型,值为"1,2,3"的样子
发现有问题,只能得到第一个ID的对象,显然不行。
后来按照ibatis的说明文档,使用iterate写配置文件:
xml 代码
SELECT
newsId as newsId,
title as title,
content as content,
topicId as topicId
FROM cnsv_news wherecnsv_news.catalogId=#catalogList[]#
一直没调试成功,出现com.ibatis.common.beans.ProbeException: Error getting ordinal list from JavaBean错误。查资料、网上搜了一通都解决不了,后来看了一下JPetStore-5.0的例子结合我跟它的区别和Error getting ordinal list from JavaBean,感觉可能是我的resultClass—News里面没有catalogList属性引起的,后来也证实猜测是正确的。我的News里面显然不适合有catalogList属性,一时想不到办法,抱着必将失败的心态干脆把property=”catalogList”删除掉试试(ibatis说明文档上说property是必选的,这句话可真是误人子弟啊),删除之后一运行竟然成功了。
删除之后:
SELECT
newsId as newsId,
title as title,
content as content,
topicId as topicId
FROM cnsv_news where
cnsv_news.catalogId=#catalogList[]#
原因分析:有了property=”catalogList”这句ibatis会在News里面找catalogList,而News里面有没有这个属性所以就抛出com.ibatis.common.beans.ProbeException: Error getting ordinal list from JavaBean异常。删掉property=”catalogList”之后,ibatis就会在传入的parameterClass中找catalogList,这正是我需要的。
Java架构俱乐部,QQ群2826942 ,交流Java架构,领域模型,设计模式,AOP,IOC,轻量级,DDD,项目管理,设计思想等问题,聚集经验丰富的高级程序员,架构师,项目经理等交流以上层面较高的问题。欢迎各位有识之士加入,共同探讨、发表高见、广结精英。为了使各位成员免受无聊信息和低端问题的打扰,请尽量避免讨论代码实现等入门级问题,维护本群的氛围和讨论质量。新手勿加
ibatis mysql iterate_ibatis中iterate问题的解决 | 学步园相关推荐
- ibatis mysql iterate_IBATIS中关于iterate$与#的应用
一个包含List元素的HashMap参数赋给sqlMap public int getCountById(String id, String title, List ids) throws Excep ...
- ibatis mysql iterate_ibatis中动态语句的iterate标签
例子一 查询条件dto public class queryCondition { private String[] stuIds; private String name; } 查询sqlMap s ...
- ibatis mysql iterate_IBATIS的iterate标签
使用IBATIS的iterate标签来动态构造SQL 需要注意的地方: 参数是List,iterate不需要设置property属性 select id,channel_name,channel_id ...
- ibatis mysql iterate_ibatis实现Iterate的使用
property="" /*可选, 从传入的参数集合中使用属性名去获取值, 这个必须是一个List类型, 否则会出现OutofRangeException,通常是参 ...
- fedora ssh 安装mysql,Fedora中安装和配置OpenSSH | 学步园
SSH的简介 传统的远程登陆程序的工具,比如TELNET.Rlogin以及Rsh等,都是将口令在网上明文的方式传输的.显然这不能保证系统和用户的安全和利益.SSH(Secure Shell)则避免了上 ...
- java 发邮件 乱码_JavaMail发送中文邮件乱码的解决 | 学步园
我们的程序经常会出现这样一个问题,在WinXp下测试是正常的,而到了服务器(Linux操作系统)上就出现这个问题. 1. 由于邮件我写的程序的邮件主题是写在配置文件(. properties)中 ...
- oracle 的exp是什么,oracle中exp和imp是什么,oracle中exp和imp有何区别 | 学步园
oracle中exp和imp是什么,oracle中exp和imp有何区别.exp和imp的输入都是名字和值对:exp parameter_name=value 或exp parameter_name= ...
- mysql temporary table select_MYSQL中的CREATE TEMPORARY TABLE | 学步园
记录一下今天的一个BUG FIXING.早上收到一个BUG,说有一个到模块A的调用B,多执行几次以后就会出错.错误信息显示SQL ERROR.因为CDC SBE就我最近改过模块A的代码,就把BUG塞给 ...
- mysql 二进制转字符串_MySql字符转义 | 学步园
在字符串中,某些序列具有特殊含义.这些序列均用反斜线('\')开始,即所谓的转义字符.MySQL识别下面的转义序列: \0 ASCII 0(NUL)字符. \' 单引号('''). \" 双 ...
最新文章
- 对比学习系列论文SDCLR(一)-Self-Damaging Contrastive Learning论文的概括
- Django startproject的问题
- 一步步编写操作系统 51 加载内核4
- Linux的JVM可以从SUN网站上下载
- 抓取流量分析恶意软件或泄密流量(精)
- Theano 中文文档 0.9 - 7.2.6 Theano如何处理形状信息
- 通过Xshell来访问和连接Linux
- mvc三层架构_Java架构-代码分层的设计之道
- zepto-创建dom
- 二极管(一):反向恢复时间
- android studio for android learning (八)开机启动界面splashActivity
- Java IO流复制文件拒绝访问的原因及解决方法
- KX022-1020 3轴 传感器 LGA RT8577AGQW LED驱动器
- 拆书帮第14期训练营——作业九:如何通过刻意练习来掌握临界知识
- 软件复用及构件、C/S与B/S混合模型及实战项目技术简述
- Python代码画圣诞树--turtle绘图
- 转转“拯救世界”的第一步,师从小米换LOGO?
- 淘宝订单接口|订单插旗备注,淘宝开放平台最稳定的店铺订单接口
- 计算机键盘重复,电脑怎么设置键盘重复延迟和重复速度?
- nodejs 传递参数