ibatis开发查询结果为动态列,多次查询结果相同
2015-03-13 09:52
323 查看
在ibatis开发过程中,在一个select中可能遇到动态列的情况,即根据不同的条件要返回不同的字段项,返回的结果又是一个同一个实体对象。如果按照习惯性的做法会出现如下情况:
一、程序在第二次执行时报错,提示列不存在
二、程序执行不报错,但是不管怎么执行,打印出来的sql语句不同,但是header相同,结果也相同
导致这种问题的原因在于,ibatis在同一个id下第一次执行后会记住返回的结果集的列头,之后执行时会直接使用第一次的,而不会去自动更新,解决办法为在select中加上一个属性remapResult=“true”,这样每次执行查询时都会更新返回的结果列,也就不存在结果不一致或者报错的问题了。
一、程序在第二次执行时报错,提示列不存在
二、程序执行不报错,但是不管怎么执行,打印出来的sql语句不同,但是header相同,结果也相同
导致这种问题的原因在于,ibatis在同一个id下第一次执行后会记住返回的结果集的列头,之后执行时会直接使用第一次的,而不会去自动更新,解决办法为在select中加上一个属性remapResult=“true”,这样每次执行查询时都会更新返回的结果列,也就不存在结果不一致或者报错的问题了。
相关文章推荐
- 有关在ibatis中动态拼写SQL,查询多次后结果不同的问题
- ibatis用resultClass动态返回查询结果
- ibatis 当查询的结果集列明动态变化时,需要在select等标签上加上 remapResults="true"属性.
- SQL server 动态查询(表名或字段动态),并且获取想得到的返回值结果( exec sp_executesql )
- 数据库查询结果的动态排序(2)
- 动态得到查询结果后绑定
- 查询结果的动态排序(4)
- 在ibatis 拼接sql语句,动态查询
- ibatis动态查询条件
- 数据库查询结果的动态排序(3)
- 数据库查询结果的动态排序(1)
- 用ibatis写时间间隔的动态查询
- 数据库查询结果的动态排序
- 使用ibatis实现动态分页查询
- iBatis中使用动态查询
- 动态的创建表的sql,并把查询的结果插入该表
- 求助水晶报表动态饼图显示、求助进行数据查询和把查询结果用图表比较出来
- 数据库查询结果的动态排序(5)
- ibatis 使用动态查询时,定制结果集键值的大小写
- 查询结果的动态排序(2)