ibatis同一个方法不能查询查询两个表时报错现象
2012-03-26 16:17
197 查看
适用于确认列名在在相应的数据表、domain中存在
<select id="select" resultClass="java.util.HashMap" >
select * from $tableName$ where id=#id#
</select>
该查询结果映射到HashMap中,第一次使用这个语句是没有问题,但是当使用这个语句查询别的表时,报错为“列名无效”,分析之后原因为ibatis对上个表的结构进行了映射缓存,从结果集到HashMap的映射时按照缓存中表字段进行装载。
使用remapResults这个属性,可以重新映射结果集
<select id="select" resultClass="java.util.HashMap" remapResults="true" >
select * from $tableName$ where id=#id#
</select>
<select id="select" resultClass="java.util.HashMap" >
select * from $tableName$ where id=#id#
</select>
该查询结果映射到HashMap中,第一次使用这个语句是没有问题,但是当使用这个语句查询别的表时,报错为“列名无效”,分析之后原因为ibatis对上个表的结构进行了映射缓存,从结果集到HashMap的映射时按照缓存中表字段进行装载。
使用remapResults这个属性,可以重新映射结果集
<select id="select" resultClass="java.util.HashMap" remapResults="true" >
select * from $tableName$ where id=#id#
</select>
相关文章推荐
- oracle 查询两个字段赋值到一个字段的方法
- 算法--两种方法实现一个Add函数,让两个整数相加,但是不能使用+、-、*、/等四则运算符。
- 为同一个表不能建立两个外连接解决方法
- 三种方法实现从“一个(组)查询过程中返回两个表的查询结果”
- 如果一个字段为两个不同字段的查询方法
- 三种方法实现从“一个(组)查询过程中返回两个表的查询结果”
- ###(很难找的页面错误)查询操作不需要 返回 操作成功后失败。【方法不能同时执行两个response返回两次数据。导致页面显示数据失败】
- 一个表对应另一个表中多个主键的查询方法(把一个表当成两个表用)
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- windows installer服务不能更新一个或多个受保护的windows文件错误的解决方法
- 两个tableview 在同一个页面时,出现自动合并的现象
- 一个类里的两个synchronized方法
- 在 sql查询中如何将两个字段显示在一个字段
- Java_jdbc 基础笔记之八 数据库连接(写一个查询Student对象的方法)
- 1.创建一个Rectangle类,添加width和height两个成员变量。 2.在Rectangle中添加两种方法分别计算矩形的周长和面积 3.编程利用Rectangle输出一个矩形的周
- 真相大白:为什么Entity Framework不能进行跨数据库查询(附解决方法)
- 160519、Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法
- eclipse:不能在tomcat里添加一个项目的解决方法
- 卸载时候出现: windows installer 程序有问题。此安装需要的dll不能运行 的一个解决方法
- 查询一个表中的两个字段值相同的数据