1. 程式人生 > >java中SQL查詢語句有like '%?%'怎麼寫

java中SQL查詢語句有like '%?%'怎麼寫

  在mysql裡面我們直接用;這條sql語句。


是沒有什麼問題的,執行的結果如下


但是我們想要在java裡面寫一條sql語句能和這條語句相同。一開始,我在java裡面用了這一條語句


當我執行結果時,我發現報了一個java.lang.StackOverflowError異常,我也去網上收了一些答案,

一開始我也不知道是哪裡出現了問題,然後開始斷點除錯,發現當走到

這一步時,rs的值仍為null,可以得出結論,sql語句有誤。

?代表的是一個sql引數,在java裡面本身就是字串,但%不同,‘%科%’

這裡可以發現%和科是一個等級的,在java裡面,?=“科”= sql裡面的‘科’。

所以%也得=‘%’=“%”

按我們的想法在java裡面應該是這句String sql="select * from category "%"+?+"%"";

但是會發現報錯,所以這時候我們用到轉義字元就行了;


ok了。