mybatis執行查詢語句,可以在plsql中查詢資料,但是在程式中查詢不到,mybatisplsql

來源:互聯網
上載者:User

mybatis執行查詢語句,可以在plsql中查詢資料,但是在程式中查詢不到,mybatisplsql
  今天用mybatis查詢語句的時候,控制台輸出的sql語句可以在plsql裡面可以正確執行,但是查詢出來就是沒有資料。
  原查詢語句如下:(為了保密性,將敏感的包名給馬賽克了。)

 

此sql可以在plsql中正確執行,但是查詢不到資料。

解決辦法是:將查詢條件中的“#”替換成“$”.

原因如下:MyBatis看到 #{}會認為你在給sql中的變數賦值,就像JDBC編程中給問號賦值一樣(自動在前後加單引號)也就是說,他把你傳入的字串並沒有當做多個值,而是當做一個大的字串,所以查詢不到值)

            而MyBatis看到${}的時候會直接將之替換成變數的值而不做任何處理。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.