更新时间:2022-06-01 09:50:43 来源:极悦 浏览570次
极悦小编来告诉大家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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习