问题描述:
sql语句可以在pl/sql中正确执行,但在mybatis中报错java.sql.SQLSyntaxErrorException ORA-00907: 缺失右括号!
解决办法:
将查询条件中的“#”替换成“$”.
原因如下:MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值)
而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。