首页 课程 师资 教程 报名

Java中的sql语句小细节

  • 2022-06-01 09:50:43
  • 521次 星辉

星辉小编来告诉大家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语句,这个错误是非常难以发现的。

如果在开发过程中出现这样的问题,可能需要耗费我们很多时间。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交