Java 如何在IBatis 2中为带有Parameterclass Map的SQL Update或SQL Select语句创建SQL In子句
我在使用IBatis框架时遇到了一些问题。我使用iBATIS2,现在我尝试执行一个SQLSELECT和SQLUPDATE语句,它与参数类“java.util.Map”和IBatis迭代器标记一起工作。但现在看来,这两个组成部分并不协同工作 如果我只在SQL select语句中使用带有IBatis迭代器标记的Java列表,它就可以正常工作 如果我只在SQL updatestatement中使用带有IBatis迭代器标记的Java列表,它就不起作用 有必要使用Java映射作为parameterClass,因为在SQL语句中需要多个参数 现在,我已经创建了以下ArrayList“filterData”,它将包含在HashMap“myMap”中: 以下是我的IBatis SQL select语句:Java 如何在IBatis 2中为带有Parameterclass Map的SQL Update或SQL Select语句创建SQL In子句,java,sql,ibatis,Java,Sql,Ibatis,我在使用IBatis框架时遇到了一些问题。我使用iBATIS2,现在我尝试执行一个SQLSELECT和SQLUPDATE语句,它与参数类“java.util.Map”和IBatis迭代器标记一起工作。但现在看来,这两个组成部分并不协同工作 如果我只在SQL select语句中使用带有IBatis迭代器标记的Java列表,它就可以正常工作 如果我只在SQL updatestatement中使用带有IBatis迭代器标记的Java列表,它就不起作用 有必要使用Java映射作为parameterCla
Long selectedValues = (Long) getSqlMapClientTemplate().queryForObject("selectWithMap", myMap)
<select id="selectWithMap" resultClass="long" parameterClass="java.util.Map">
SELECT COUNT(*)
FROM $mySchema$.myTable
WHERE myTable.id IN
<iterate open="(" close=")" conjunction=",">
#[filterData]#
</iterate>
</select>
Integer updatedValues = (Integer) getSqlMapClientTemplate().update("updateWithMap", myMap);
<update id="updateWithMap" parameterClass="java.util.Map">
UPDATE $mySchema$.myTable
SET myTable.name = "Something!!",
WHERE myTable.id IN
<iterate open="(" close=")" conjunction=",">
#[filterData]#
</iterate>
</update>
以下是我的IBatis SQL更新语句:
Long selectedValues = (Long) getSqlMapClientTemplate().queryForObject("selectWithMap", myMap)
<select id="selectWithMap" resultClass="long" parameterClass="java.util.Map">
SELECT COUNT(*)
FROM $mySchema$.myTable
WHERE myTable.id IN
<iterate open="(" close=")" conjunction=",">
#[filterData]#
</iterate>
</select>
Integer updatedValues = (Integer) getSqlMapClientTemplate().update("updateWithMap", myMap);
<update id="updateWithMap" parameterClass="java.util.Map">
UPDATE $mySchema$.myTable
SET myTable.name = "Something!!",
WHERE myTable.id IN
<iterate open="(" close=")" conjunction=",">
#[filterData]#
</iterate>
</update>
我怎样才能解决这个问题
非常感谢 查看iBatis xml,您的filterData标记似乎不正确。应该是:
更新$mySchema$.myTable
SET myTable.name=“Something!!”,
myTable.id在哪里
#filterData[]#