zoukankan      html  css  js  c++  java
  • ZT:在mybatis的Mapping文件写入表名 出现异常ORA-00903: 表名无效 的解决

    简而言之,把#{tablename}换成${tablename}就能解决问题。

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
    本文链接:https://blog.csdn.net/tornado430/article/details/83001874
     

    参考于:http://blog.51cto.com/11230344/2287968

    <select id= "queryTable" resultMap="map>
        select * from #{tableName}
      </select>

    ### SQL: select * from ?
    ### Cause: java.sql.SQLException: ORA-00903: 表名无效

    发现有问题,实际上#{}方式通过?形式进行传递参数的,?它不支持tableName

    将#{}换成${}

    <select id= "queryTable" resultMap="map">
        select * from ${tableName}
      </select>

    总结:

    #{} :表示sql中的参数部分,实际上底层使用的是PreparedStatement

    ${}:表示字符串拼接,实际上底层采用的Statement对象

    能使用#{}的地方都可以使用${}代替,但是能使用${}的地方不一定能够用#{}来替代
    ————————————————
    版权声明:本文为CSDN博主「tornado430」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/tornado430/article/details/83001874

  • 相关阅读:
    CodeForces
    处女座的测验(一)(素数筛+思维)
    Codeforces-D-Diverse Garland(思维)
    linux中open函数使用
    linux管道通信
    linux中memset的正确用法
    在linux中read、write函数
    Ubuntu+Win7+Samba实现文件共享
    【转】教你如何实现linux和W…
    《转》我的ARM学习经历
  • 原文地址:https://www.cnblogs.com/heyang78/p/11631470.html
Copyright © 2011-2022 走看看