mybatis执行查询语句,可以在plsql中查询数据,但是在程序中查询不到,mybatisplsql
今天用mybatis查询语句的时候,控制台输出的sql语句可以在plsql里面可以正确执行,但是查询出来就是没有数据。原查询语句如下:(为了保密性,将敏感的包名给马赛克了。)
此sql可以在plsql中正确执行,但是查询不到数据。
解决办法是:将查询条件中的“#”替换成“$”.
原因如下:MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值)
而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。