专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Java中的sql语句小细节

Java中的sql语句小细节

更新时间:2022-06-01 09:50:43 来源:赢咖4 浏览500次

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

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

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>