iBatis的SqlMap中,我写的这条动态SQL语句,将表名当做参数动态传递,报“表名无效”错误。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iBatis的SqlMap中,我写的这条动态SQL语句,将表名当做参数动态传递,报“表名无效”错误。相关的知识,希望对你有一定的参考价值。
select * from
<dynamic>
<isNotEmpty property="table">
#table:VARCHAR#
</isNotEmpty>
</dynamic>
<dynamic prepend="where">
<isNotEmpty prepend="and" property="fpdm">
t.send_fpdm = #fpdm:VARCHAR#
</isNotEmpty>
<isNotEmpty prepend="and" property="begin">
to_number(t.send_begin_fphm)<![CDATA[ >= ]]>to_number(#begin:VARCHAR#)
</isNotEmpty>
<isNotEmpty prepend="and" property="end">
to_number(t.send_end_fphm)<![CDATA[ <= ]]>to_number(#end:VARCHAR#)
</isNotEmpty>
</dynamic>
<dynamic>属性难道只能用于where吗?为什么动态添加表就错呢?
在线等,谢谢!
谢谢,不过还没有实验。等验证正确了再给你满意答案。还有个问题:如果表可以通过用“$”动态组建SQL语句,那不是带来另一个问题:一旦这个表这个参数值为空,这条SQL语句岂不是错误了吗?iBatis有什么机制避免吗?
追答为空的话,会报错的,具体怎么样避免,还没有用过
本回答被提问者采纳以上是关于iBatis的SqlMap中,我写的这条动态SQL语句,将表名当做参数动态传递,报“表名无效”错误。的主要内容,如果未能解决你的问题,请参考以下文章
在ibatis及mybatis的sqlmap配置文件中应使用啥符号进行安全预编译参数绑定
NoClassDefFoundError: com/ibatis/sqlmap/engine/transaction/external/ExternalTransactionConfig处理(示例代码