求mybatis调用存储过程返回List>的方法.

临摹 2013-04-12 03:01:56
我用的是spring+mybatis的框架。
比如我有个ORACLE的存储过程:
type r_cursor is ref cursor;  
procedure getRoleByLoginId(p_loginid varchar2,R_cur Out R_Cursor)is
begin
open R_cur for select t3.id,t3.rolename,t3.roledesc from sys_user t1,sys_user_role t2,sys_role t3 where
t1.id = t2.userid and t2.roleid =t3.id and t1.loginid = p_loginid;
end getRoleByLoginId;

我想写一个通用的调用此类存储过程的方法,关键是返回值问题,我想返回List<Map<String,Object>>这种形式,而不是每个调用都根据字段定义resultMap。

这个mapper.xml文件怎么写呀?
...全文
340 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
	 <select id="方法" statementType="CALLABLE" resultType="Map">  
	<![CDATA[  
	    {call sequence_procedure (#{tableName,mode=IN,jdbcType=VARCHAR})}  
	]]>  
	</select> 	
mapper对应接口
public List<Map> 方法();
不行吗
yyw6637 2013-04-12
  • 打赏
  • 举报
回复
错了,好像是这样
<resultMap id=\”getItemsResult\” class=\”java.util.HashMap\”>
<result property=\”itemName\” column=\”item_name\” />
<result property=\”itemValue\” column=\”item_value\” />
</resultMap>
<select id=\”getItems\” resultMap=\”getItemsResult\”>
select item_name, item_value from item_table
</select>
Map<String,Object> map=getSqlMapClientTemplate().queryForMap(\”getItems\”, null, \”itemName\”, \”itemValue\”); List<Map<String,Object>> list=new ArrayList()<Map<String,Object>>; list.add(map);
yyw6637 2013-04-12
  • 打赏
  • 举报
回复
不太明白你的意思
 <resultMap class="java.util.HashMap"    id="getActionIdAndActionNumber">   
    <result column="actionId" property="actionId" jdbcType="BIGINT" javaType="long"/>   
    <result column="count" property="count" jdbcType="INT" javaType="int"/>   
    </resultMap>
List<Map<String,Object>> list=getSqlMapClientTemplate().queryForList(sqlName,parameter);

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧