首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Ibatis 传到数组

2012-10-31 
Ibatis 传入数组用迭代来实现,用parameterClass 来接收然后通过iterate遍历整个集合 Iterate的属性:prep

Ibatis 传入数组
用迭代来实现,用parameterClass 来接收然后通过<iterate>遍历整个集合

Iterate的属性:
prepend - 可被覆盖的SQL语句组成部分,添加在语句的前面(可选)
property - 类型为java.util.List的用于遍历的元素(必选)
open - 整个遍历内容体开始的字符串,用于定义括号(可选)
close -整个遍历内容体结束的字符串,用于定义括号(可选)
conjunction - 每次遍历内容之间的字符串,用于定义AND或OR(可选)
<iterate> 遍 历类型为java.util.List的元素。

注意:使用<iterate>时,在List元素名后面包括方括号[]非常重要,方括号[]将对象标记为List,以防解析器简单地将 List输出成String。

(#) 使用的是PreparedStatement 机制,生成的SQL字符串中含有很多?,这些?会被动态的添加参数进去查询

($)  中的变量好比字符串直接替换。
<select id="selectLanNamesByIds" parameterresultclose=")" conjunction=",">#idList[]#</iterate>
</select>


public String getLanguageNamesByIds(String languageIds) throws SQLException {
Map params = new HashMap();
String returnVal = "";

if (languageIds != null && languageIds.trim().length() != 0) {
List idList = new ArrayList();
String[] ids = languageIds.split(",");
for (int i = 0; i < ids.length; i++){
idList.add(ids[i]);
}
List names = sqlMapper.queryForList("selectLanNamesByIds", idList);
returnVal = convertListToString(names);
}
return returnVal;
}

热点排行