环境是spring+ibatis+oracle
现在想用ibatis调用存储过程,存储过程里有个字符串数组输入参数,在ibatis SQL MAP 应该怎么配置,数组类型的jdbcType填什么,java类型填什么?
问题补充:
你这是传2个参数进去,我想要的是传一个数组,
String[] nubers = {"075528645712", "075528973219"};
Map<String, Object> cond = new HashMap<String, Object>(); cond.put("msisdn", "13500000054"); cond.put("arr", nubers); try { this.getSqlMapClient().insert("puc_blackvip_number.puc_addBlackNumber", cond); } catch (SQLException e) { e.printStackTrace(); }
[color=red]现在arr这个参数绑定不了,jdbcType应该填什么?[/color]
<parameterMap id="numberMap" class="map">
<parameter property="msisdn" jdbcType="varchar2" mode="IN" />
<parameter property="arr" jdbcType=oracleARRAY mode="IN" />
<parameter property="res" jdbcType="VARCHAR" mode="INOUT" />
</parameterMap><procedure id="puc_addBlackNumber" parameterMap="numberMap"> {call puc_addBlackNumber(?,?,?)} </procedure>
[url]http://www.iteye.com/topic/298613[/url]
看看这文章
对你有帮助
用org.kylin.emap.util.ibatis.PgsqlStringArrayTypeHandler这个类来处理数组类型,这个类是实现了iBatis的com.ibatis.sqlmap.client.extensions.TypeHandlerCallback
http://www.cnblogs.com/kylindai/archive/2008/12/19/954832.html
存储过程
[code="xml"]
{call swap_email_address (?, ?)}
[/code]
有二个文档,关于ibatis 的讲的很详细
[url]http://svn.apache.org/repos/asf/ibatis/trunk/java/ibatis-2/ibatis-2-docs/cn/[/url]