sqlserver列名无效调试及解决方法
来源:互联网 发布:网络电影 罪恶片 编辑:程序博客网 时间:2024/06/05 09:09
今天用ssm和做sqlserver查询时报错:列名’D’无效
mapper.java
List<ChangeShipmentWithOrderIdDto> getChangeCancelWithShipmentType(@Param("changeTypeArr") String[] changeTypeArr);
mapper.xml
<select id="getChangeCancelWithShipmentType" resultMap="ChangeCancelResultWithOrderId" > SELECT CHANGE_ID FROM BC_CHANGE_SHIPMENT WHERE TYPE IN <foreach collection="changeTypeArr" item="type" open="(" close=")" separator=","> ${type} </foreach></select>
然后报错,错误信息为:
org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 列名 ‘C’ 无效。 ### The error may exist in file [F:\Java\workspace\tangb2c_20170901\tangb2c-app-service\target\classes\mybatis-mapping\change\mapper\ChangeQueryMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: SELECT CHANGE_ID FROM BC_CHANGE_SHIPMENT WHERE TYPE IN ( W , D , C ) ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 列名 ‘C’ 无效。 ; bad SQL grammar []; nested exception is
从报错信息可以看出本来应该是?,?,?这样的参数,但是这里直接打印出来了,而且没有引号,所以sqlserver认为是个列名,调试的时候可以把sql语句放到navicate中,错误信息会更全面,在认真检查是xml中用了${type},正确应该是#{type}
- sqlserver列名无效调试及解决方法
- java+SQLserver列名无效问题
- iBatis查询时报“列名无效”无列名的错误原因及解决方法
- iBatis查询时报"列名无效"或"找不到栏位名称"无列名的错误原因及解决方法
- iBatis查询时报“列名无效”无列名的错误原因及解决方法
- com.microsoft.sqlserver.jdbc.SQLServerException: 列名XXXXX 无效
- [SQLServer]对象名无效
- SQL复合查询“列名无效”与“ID不明确”解决方法
- iBatis多次调用同一查询语句查询时报“列名无效”无列名的错误原因及解决方法
- 列名 'Discriminator' 无效
- 列名无效
- 数据库列名无效
- hibernate列名无效
- 列名无效
- 列名无效
- IBATIS列名无效
- [SQLServer]对象名 'users' 无效。
- hibernate5 报错com.microsoft.sqlserver.jdbc.SQLServerException: 列名 XX 无效。
- Java实现Excel导入数据库,数据库中的数据导入到Excel
- 断线重连机制
- <a>标签中的onclick和href属性
- 头文件与命名空间的关系
- Linux之ssh
- sqlserver列名无效调试及解决方法
- Xshell连接Linux
- Linux 虚拟机中配置 GNOME + VNC
- 《python 核心编程第二版》第五章
- 数据结构实验之栈与队列九:行编辑器
- “下周回国贾跃亭”怒怼顾博士,文件是否签名造假!
- 用MAVEN搭建SSM框架
- Android Studio常见couldn't find "*.so"的问题
- WebSocket获取service层对象,操作数据库