博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ibatis动态生成列时的列名无效
阅读量:7079 次
发布时间:2019-06-28

本文共 462 字,大约阅读时间需要 1 分钟。

iBatis会自动缓存每条查询语句的列名映射,所有如果你动态生成列名的话就有可能造成查询列名无效的问题

同一条SQL语句先被queryforpage()调用,SQL语句被拦截套上了分页语法。此时rn列名被缓存。之后你又使用queryforlist()方法执行查询。此时SQL语句不被拦截拼分页语法,此时便报出rn列名无效。解决办法是在SQL语句上加一个属性(remapResults)配置让每次执行都重新映射列名。注:仅在可能被queryforpage()和queryforlist()都调用的SQL语句上加此属性。(以牺牲性能为代价,损耗很小很小)。如下所示:

<selectid="sql_Sel_Mp_Design"parameterClass="map"resultClass="dto"remapResults="true">

</select>

本文转自 winters1224 51CTO博客,原文链接:http://blog.51cto.com/winters1224/797836,如需转载请自行联系原作者

你可能感兴趣的文章
RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2->WinForm版本新增新的角色授权管理界面效率更高、更规范...
查看>>
JAVAC 命令使用方法
查看>>
9.3. Yate - Yet Another Telephony Engine (includes SIP to H.323 translation)
查看>>
利用python/pandas/numpy做数据分析(三)-透视表pivot_table
查看>>
SQL Server 数据库项目
查看>>
Windows7下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
查看>>
陈正冲老师讲c语言之内存的申请malloc() 和释放free()
查看>>
TortoiseSVN比较工具设置为BeyondCompare 4
查看>>
大会 | SEE Conf:Ant Design 3.0 背后的故事
查看>>
js中substring与substr 使用方法
查看>>
[LeetCode] Serialize and Deserialize Binary Tree 二叉树的序列化和去序列化
查看>>
開始折腾cocos2d-x,使用批处理来创建项目
查看>>
第 30 章 GNU Development Tools
查看>>
Flex Air开发SQLite小结,SQLite开发工具及SQLite与Sql Server的语法差异汇总
查看>>
ABBYY FineReader OCR图片文字识别软件安装应用
查看>>
手把手搭建WAMP+PHP+SVN开发环境
查看>>
操作系统中的进程与线程
查看>>
ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)
查看>>
Target runtime Apache Tomcat v6.0 is not defined.
查看>>
WF4.0实战(十四):ASP.NET结合WF4.0完整示例
查看>>