kswwhyk
2009-07-14 18:07
采纳率: 0%
浏览 323
已采纳

ibatis如果调用带数组输入参数的存储过程

环境是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>
&lt;procedure id="puc_addBlackNumber" parameterMap="numberMap"&gt;
    {call puc_addBlackNumber(?,?,?)}
&lt;/procedure&gt;



  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • fdsafds 2009-07-15 15:11
    已采纳
    点赞 打赏 评论
  • wanghaolovezlq 2009-07-14 21:31

    看看这文章
    对你有帮助

    用org.kylin.emap.util.ibatis.PgsqlStringArrayTypeHandler这个类来处理数组类型,这个类是实现了iBatis的com.ibatis.sqlmap.client.extensions.TypeHandlerCallback

    http://www.cnblogs.com/kylindai/archive/2008/12/19/954832.html

    点赞 打赏 评论
  • fdsafds 2009-07-14 21:37

    存储过程

    [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]

    点赞 打赏 评论

相关推荐 更多相似问题