SQL command not properly ended

刚接触Java,在调用sql语句的时候,报错SQL command not properly ended,即SQL未能正确结束;


1> Service.java 文件

Java把查询条件传到sql语句中进行查询

  for(int i=0;i resultList = dao.query("BC30.getTenantList", queryMap);
                if(null!=resultList && resultList.size()>0){

                //它相当于将之前的resultBlock的内容进行了覆盖
                //eiInfo.getBlock(EiConstant.resultBlock).setRows(resultList);
                  
            // 在这里的话,我们只想替换我们要修改的权限id的值,其他的数据不变                  
//                      放值的容器 ,  第i行 ,        名称 key值 ,        value值 
eiInfo.setCell(EiConstant.resultBlock,i,"privilegeID",resultList.get(0).get("tenantName").toString());
                }
            } 
        }
SQL command not properly ended_第1张图片

2> .xml 文件对应的sql语句



3> 问题来了,Tomcat debug 的时候 serve 老是输出个 SQL command not properly ended

3.1 问题原因:

sql语句少where,添加个where 1 =1就ok了;

isNotEmpty是传了查询的条件的,不加where的话是有问题的,加上where 1 =1的话,默认后面的条件会以and连接

  WHERE 1 =1
        
            b.CUSTOMER_ID= #tenant#
        

等价于:

  WHERE 1 =1 and  b.CUSTOMER_ID= #tenant#
SQL command not properly ended_第2张图片

你可能感兴趣的:(SQL command not properly ended)