Java 无法在Mybatis中绑定数据
我正在尝试使用,但遇到一些问题。代码如下: Bean.javaJava 无法在Mybatis中绑定数据,java,mybatis,Java,Mybatis,我正在尝试使用,但遇到一些问题。代码如下: Bean.java private class Bean{ private String clientId; //getter and setter } Dao.xml <mapper namespace="...Dao"> <resultMap id="bean" type="...Bean"> <result property="clientId" column="CLIENT_ID" /
private class Bean{
private String clientId;
//getter and setter
}
Dao.xml
<mapper namespace="...Dao">
<resultMap id="bean" type="...Bean">
<result property="clientId" column="CLIENT_ID" />
</resultMap>
<select id="getData" resultMap="bean"
parameterType="someBean">
SELECT *
FROM tableClient
WHERE CLIENT_ID IN
<foreach item="item" index="index" collection="list"
open="(" separator="," close=")">
trim(#{clientId})
</foreach>
</select>
</mapper>
假设在您的列表中有具有clientId属性和getter的bean,您必须将
trim(#{clientId})
替换为trim(#{item.clientId})
,正如您在foreach
上按项定义的那样。是的。谢谢!我也应该从例外本身理解这一点
List<Bean> getData(List<Bean> bean);
2013-03-23 15:11:13,637 DEBUG [getData] ==> Preparing: SELECT * FROM tableClient WHERE CLIENT_ID IN ( trim(?) , trim(?) , trim(?) )
2013-03-23 15:11:13,637 DEBUG [SqlSessionUtils] Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@117c0eb]
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'clientId' not found. Available parameters are [list]
2013-03-23 15:11:13,637 DEBUG [DataSourceUtils] Returning JDBC Connection to DataSource
at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:365)
at $Proxy11.selectList(Unknown Source
....