0

我有一个接受 HashMap 作为参数的 DAO 方法。

HashMap 中的键是要搜索的列的名称。

String[] 包含要搜索的潜在值。

如果字符串数组的长度为 1,则 where 子句与字符串数组中的确切值匹配。如果字符串数组的长度为 2,则 where 子句将查找字符串数组中两个值之间的所有值。

ibatis似乎没有确定sqlMap xml文件中数组长度的机制(因为数组长度没有JavaBean getter/setter)。

在 ibatis 中是否可以有条件地检测字符串数组的长度并将查询调整为完全匹配或 BETWEEN 语句?

例如,如果键是年龄,值是 18,则返回所有 18 岁的用户。但是,如果键是年龄,值是 18 和 23,则返回 18 和 23 之间的所有用户。

isEqual 标记最初看起来很有希望,但它不适用于 array.length,因为它没有 getter/setter。ibatis可以判断sqlMap中数组的长度吗?

谢谢。

4

1 回答 1

0

我编写了一些 java 代码来将我的 HashMap 转换为 List 而不是 String[] ,并且 ibatis 与 List.size 方法一起工作得更好。

于 2013-05-29T23:43:43.297 回答