lyuaong 2011-08-03 02:04 采纳率: 0%
浏览 388
已采纳

关于ibatis的返回值问题

配置信息:

select * from t_admin_role where admin_id = #{aId} and role_id =#{rId}

在ibatis中我如果在查询一个中间表 在配置里面返回值要写成什么呢?我在查询这个的时候配置过 返回值类型“map” “int”,都没有返回值,在执行到查询后就进入ibatis自己的异常处理去了,后台没有报错,因为我这个表 是中间表 所以没有实体,请教哈这问题要怎么解决呢?

在后台数据代码是这样写的:
Map map = new HashMap();
map.put("aId", aId);
map.put("rId", rId);
Object object;
object = session.selectOne(Admin.class.getName()+".find_admin_role", map);
System.out.println("======================"+object);

在log4中输出的日志信息是:
DEBUG [http-8080-1] java.sql.Connection - ooo Connection Opened
DEBUG [http-8080-1] java.sql.PreparedStatement - ==> Executing: select * from t_admin_role where admin_id = ? and role_id =?
DEBUG [http-8080-1] java.sql.PreparedStatement - ==> Parameters: 2(Integer), 1(Integer)

  • 写回答

6条回答 默认 最新

  • shenlw2005 2011-08-03 03:07
    关注

    [color=red]remapResults="true"[/color] resultClass="java.util.HashMap"

    因为返回的实体不一样 所有必须加上 remapResults="true" 属性

    后台 根据 获取数据 HashMap map = (HashMap)list.get(0);
    String a = (String)map.get("A");

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部