在iBatis中
当用parameterMap作为ibatis映射输入参数时,要在ibatis的配置文件中作相应的声明。
但我们也可以不在ibatis映射文件中作声明,应用方法如下:
ibatis映射文件sqlmap.xml中:
<update id="update" parameterClass="java.util.HashMap">
UPDATE TAB SET EDITION=#ID# WHERE USERID=#USERID#
</update>
在我们要调用sql查询语句的java方法中有:
Map<String, Object> parameter = new HashMap<String, Object>();
parameter.put("USERID", userId);
parameter.put("ID", edition);
try {
sqlMapClient.update("mysqlibatis.update", parameter);
} catch (SQLException e) {
return false;
}
这样做在调用程序中,直接传入类型是HashMap 的变量parameter,而不需要在ibatis映射文件sqlmap.xml中配置对应的parameterMap了.
减少工作量,同时降低出错的几率
注:
经本人实验(VB 2008),在iBatis.net中,该方法同样实用,需要改变传入参数的类型:
1.ibatis映射文件sqlmap.xml中: parameterClass="Hashtable">
2.调用程序中:
Dim parameter As New Hashetable
parameter.Add(("USERID", userId)
parameter.Add(("ID", edition)
Try
sqlMapClient.update("mysqlibatis.update", parameter)
Catch ex As Exception
return false
End Try