浏览 3825 次
锁定老帖子 主题:[提问]ibatis查询问题
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-06-12
<![CDATA[ $sqls$ ]]> </statement> 如上配置,我每次传入不同的sql语句来查询数据,返回map,但是出现这样的问题:如果我第一次的sql语句是select RoleId,RoleName from Role,正确返回结果,第二次的是select ResId,ResName from Res,ibatis出错说,在map中找不到RoleId这个key,也就是说map的结构始终未第一次查询时产生的,接下来的查询都是用第一次的结构,请问这个问题怎么解决呢, 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-06-12
<statement id="getpages" resultClass="java.util.HashMap" parameterClass="string" remapResults="true">
<![CDATA[ $sqls$ ]]> </statement> 关于动态remapResults="true"的说明 如果你使用下面这种动态语句的时候,在第二次传入参数tableName或者resultMap参数不同的时候会 SQLException:Invaild column name 错误,因为IBatis有自己的AutoReusltMap的cache,他总是用上次的column去匹配表, 解决的方法就是使用多个statement或者设置remapResults="true" 就 是每次会自动重新映射 <select id="selectTable" parameterClass="map" resultMap="$resultMap$" > Use $dbName$ SELECT * From $tabileName$ </select> http://wiki.springside.org.cn/display/springside/iBatis |
|
返回顶楼 | |
发表时间:2007-06-12
还第一次见到这么玩的
|
|
返回顶楼 | |
发表时间:2007-06-14
ibatis 这样用,所有的 SQL 全到 dao 里去了,还不如 jdbcTemplate 来得简单 |
|
返回顶楼 | |