mybatis ORA-00903: 表名无效

 

参考于: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对象

能使用#{}的地方都可以使用${}代替,但是能使用${}的地方不一定能够用#{}来替代

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mybatis ora-01017错误表示在连接Oracle数据库时,用户名或口令无效,因此登录被拒绝。解决该问题的方法如下: 1. 首先,确保输入的用户名和口令是正确的。检查是否输入错误,包括大小写、拼写和特殊字符等。 2. 检查Oracle数据库的用户是否存在。确认输入的用户名在数据库存在,并且是正确的用户名。 3. 确认口令是否正确。对于Oracle数据库,口令是区分大小写的,所以需要确保输入的口令与数据库的口令完全一致。 4. 检查连接参数配置。在Mybatis的配置文件,确认连接Oracle数据库的参数配置是否正确。主要包括数据库url、用户名和口令等参数。 5. 检查数据库服务是否正常运行。在连接Oracle数据库之前,确保数据库服务已经启动,并且处于正常运行状态。 6. 确保数据库服务器和应用服务器之间的网络连接正常。如果数据库服务器和应用服务器在不同的主机上,确保网络是否通畅,能够相互访问。 7. 检查用户权限。在Oracle数据库,用户需要具有相应的权限才能够功登录。确保输入的用户名具有足够的权限,包括连接数据库的权限和访问相关表的权限等。 通过以上方法,一般可以解决mybatis ora-01017错误。如果问题仍然存在,可以进一步检查数据库日志和Mybatis的日志信息,以获取更多的异常信息,进而对问题进行进一步的排查和解决。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值