更新時間:2022-06-01 09:50:43 來源:動力節點 瀏覽845次
動力節點小編來告訴大家Java中的sql語句小細節,看如下一條sql語句
String sql="SELECT * FROM bookBasicInfo,bookTypeInfo
WHERE bookBasicInfo.BelongType=bookTypeInfo.BookTypeID
AND bookBasicInfo.bookName like ? AND" +
"bookBasicInfo.BelongType=?";
ps.setString(1, "%"+bookName+"%");
ps.setInt(2, typeId);
這是一條根據圖書名稱和圖書類型進行查詢的sql語句,可能咋一看并沒有什么毛病,如果將
上述sql語句在java環境中執行會拋出如下異常
java.sql.SQLException: ORA-00933: SQL 命令未正確結束
這個問題的錯誤原因,就是一個空格的問題,由于sql過長,用+進行拼接,但是在用+進行拼接的時候是原樣進行拼接,在“+”那處,會變成
...bookBasicInfo.bookName like ? ANDbookBasicInfo.BelongType=?
這樣的sql在執行的過程中,當然會報錯啦!
解決方式:只需要在最后一個AND后面或者bookBasicInfo.BelongType前面添加“空格”,問題解決了
如果不細細的觀察sql語句,這個錯誤是非常難以發現的。
如果在開發過程中出現這樣的問題,可能需要耗費我們很多時間。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習