我一直致力于将XML字符串作为输入参数发送到SQL Server存储过程,该存储过程在Java语言中通过MyBatis映射接口调用。我的映射定义如下:
@Update(value = "{ call prcFoo(" +
"#{ stringValue, jdbcType=VARCHAR, mode=IN }," +
"#{ xmlValue, jdbcType=CLOB, mode=IN } ) }")
@Options(statementType = StatementType.CALLABLE)
Integer sendXML(@Param("stringValue") String stringValue,
@Param("xmlValue") String xmlValue);映射返回整数值,而不是结果集。当我使用这个映射进行调用时,我得到了过程错误条件(一个负整数)。这似乎是读取XML的问题,因为当我使用相同的XML字符串直接在数据库上调用该过程时,它会返回期望值。我是不是不正确地使用了MyBatis,还是别的什么地方错了?
发布于 2013-08-28 04:49:16
您是否尝试过使用XML数据类型而不是字符串
http://technet.microsoft.com/en-US/library/ms189887(v=sql.90).aspx
https://stackoverflow.com/questions/18473637
复制相似问题