lyuaong
2011-08-03 10:04
浏览 383
已采纳

关于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 11: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条)

相关推荐 更多相似问题