java中写sql语句的小小细节
来源于:http://www.cnblogs.com/reine98/p/6180472.html
看如下一条sql语句
|
1
2
3
4
5
6
|
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中写sql语句的小小细节的更多相关文章
- 在mybatis中写sql语句的一些体会
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...
- 关于在Java代码中写Sql语句需要注意的问题
最近做程序,时不时需要自己去手动将sql语句直接写入到Java代码中,写入sql语句时,需要注意几个小问题. 先看我之前写的几句简单的sql语句,自以为没有问题,但是编译直接报错. String st ...
- java中的sql语句中如果有like怎么写
我先是在SQL server中写了如下语句: 这样是顺利执行的,可是我把这句话复制到Java代码中打出来却报错了, 刚开始我还以为是前端没有传回来值,待我一句一句打印发现,它提示我rs没有next.到 ...
- 在myeclipse中写sql语句的细节问题
注意类型,varchar 和int 在java中表示为sql语句中的细微区别!! 下面的REGISEAT_NUM为int 类型 custid为varchar类型 String sql1= ...
- MYSQL中写SQL语句,取到表中按ID降序排列(最新纪录排在第一行)
'select * from bugdata where id>0 order by id desc'
- delphi中写SQL语句中变量的注意事项
1.procedure TForm1.btn1Click(Sender: TObject); var s: String; begin S := 'select * from TMarketI ...
- mybatis注解中写SQL语句
参考: https://blog.csdn.net/gebitan505/article/details/54929287/https://blog.csdn.net/KingBoyWorld/art ...
- Excel 中使用sql语句查询
将Excel连接Oracle数据库 Excel选项板中"数据"—"自其他来源"下拉菜单中有有个可以连接其它数据库的选项"来自数据连接向导"和 ...
- EntityFramework中使用sql语句
https://blog.csdn.net/yangyangafan/article/details/77602133 EntityFramework操作数据库谜一般的方便还不用写数据库,但前提是很简 ...
随机推荐
- 利用Squid + DNSPOD 搭建CDN服务器
首先下载squid for windows安装包 squid-2.7.STABLE5-bin.zip 然后解压缩,放到C盘squid目录内. 进入目录C:\squid\etc内,将所有文件的.defa ...
- Tomcat集群Spring+Quartz多次执行解决方案记录
由于在集群环境下定时器会出现并发和重复执行的问题,我再三考虑记录有5 一.把定时器模块单独拿出来放到一台tomcat或者新建一个Java工程手动启动定时器,这样定时器的任务就可以从原来的集群中抽离开来 ...
- maven中net.sf.json报错的解决方法
今天在用maven添加net.sf.json的jar包的时候,代码如下: <dependency> <groupId>net.sf.json-lib</groupId&g ...
- Cesium随笔(5)CZML介绍(介个文章是转的嘿嘿)【转】
通过czml可以在cesium上实现非常棒的动态效果 (1)Cesium Language (CZML) 入门--CZML Structure(CZML的结构) 原文地址:https://github ...
- 3 Sum leetcode java
题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...
- ifconfig无输出的解决办法
问题 执行 ifconfig 命令无任何报错,也无任何输出信息 [root@linuxprobe ~]# ifconfig [root@linuxprobe ~]# 排错 1. 检查PATH变量 [r ...
- PCL学习笔记二:Registration (ICP算法)
原文:http://blog.csdn.net/u010696366/article/details/8941938 PCL Registration API Registration:不断调整,把不 ...
- POJ2762 Going from u to v or from v to u? 强连通+缩点
题目链接: poj2762 题意: 给出一幅单向图.问这张图是否满足 随意两点ab 都能 从a到达b 或 从b到达a 题解思路: 推断一幅图是否满足弱连通 首先想到的是将图中的 强连通分量(能互 ...
- idea丢失svn解决办法
今天打开Idea,习惯用ctrl+t来更新svn,杯具出现了,快捷键失效了,我觉得可能是其他的什么软件占用了这个快捷键,于是把qq,微信,rtx,各种软件都关掉,发现还是不好使,于是重启了一下,发现还 ...
- Eclipse开发Android的配置(包括ADT安装,SDK配置)
1. 下载Android SDK http://code.google.com/android/download.html下载后直接解压就可以使用了. 为了在DOS控制台中直接使用SDK的工具,可 ...