• 在Ibatis中调用存储过程或存储的函数(转)


    在Ibatis中调用存储过程或存储的函数。
    和调用sql语句不同的是需要设置入参和出参
    这篇文章已经说的很详细了。
    http://www.delphibbs.com/keylife/iblog_show.asp?xid=28107
    可是我配置的时候确怎么也得不到正确的结果,错误大致是“记录数太多”,查询了很多资料才发现原来Ibatis2.2之前是不支持存储过程返回CURSOR,所以请需要使用Ibatis调用存储过程并且获取记录集游标的同学注意了。下面帖一个我的配置:
    ———————————————–
    <!– 获取用户列表 –>
    <resultMap id=”rm_out_getUserList”
    class=”java.util.HashMap“>
    <result property=”id” column=”id” />
    <result property=”name” column=”name”
    />
    <result property=”gname” column=”gname”
    />
    <result property=”cname” column=”cname”
    />
    </resultMap>
    <parameterMap id=”pm_in_getUserList”
    class=”java.util.Map”>
    <parameter property=”result”
    jdbcType=”ORACLECURSOR” javaType=”java.sql.ResultSet” mode=”OUT”
    resultMap=”rm_out_getUserList” />
    <parameter property=”p_name”
    jdbcType=”VARCHAR2″ javaType=”java.lang.String” mode=”IN” />
    <parameter property=”p_gname”
    jdbcType=”VARCHAR2″ javaType=”java.lang.String” mode=”IN” />
    <parameter property=”p_cname”
    jdbcType=”VARCHAR2″ javaType=”java.lang.String” mode=”IN” />
    </parameterMap>
    <procedure id=”getUserList”
    parameterMap=”pm_in_getUserList”>
    {? = call PCK_USER.F_GET_USER(?,?,?)}
    </procedure>
    ———————————————-
    绿色部分要注意(配置的第一行),如果是要将结果集以map形式返回,一定要写HashMap。

  • 相关阅读:
    SQL性能--left join和inner join的运行速度与效率
    20分钟搭建selenium+python+pydev+eclipse环境
    python 模拟双色球输出
    python 装饰器
    leetcode python丑数
    leetcode python找不同
    TCP和UDP的区别以及使用python服务端客户端简单编程
    python 上台阶
    leetcode python快乐数
    mysql 两例习题
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1683472.html
Copyright © 2020-2023  润新知