ZT:在mybatis的Mapping文件写入表名 出现异常ORA-00903: 表名无效 的解决

时间:2023-03-10 05:11:52
ZT:在mybatis的Mapping文件写入表名  出现异常ORA-00903: 表名无效 的解决

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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.****.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对象

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