myibatis中出现“@P0' 附近有语法错误。”

2024-06-01 08:58

本文主要是介绍myibatis中出现“@P0' 附近有语法错误。”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

org.springframework.jdbc.BadSqlGrammarException:  ### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 第 6 行: '@P0' 附近有语法错误。 ### The error may involve com.siny.base.mapper.KindyInfoMapper.findKindyInfo-Inline ### The error occurred while setting parameters ### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 第 6 行: '@P0' 附近有语法错误。 ; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 第 6 行: '@P0' 附近有语法错误。  org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:233)  org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)  org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:71)  org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:346)  $Proxy5.selectList(Unknown Source)分析:
语句编译后#{}是预处理状态

在Java中对数据库查询时经常使用“Select Top ? * From 表名 Where 列名 = ?”的SQL语句,此时的问号是PreparedStatement预编译对象的参数占位符,需要使用setXX()系列方法对其赋值后再执行。

但是,Top后面是不允许使用问号占位符的,此处的错误就是由此引起的。

解决:

语句修改为:select top ${top}  *  from tb

这篇关于myibatis中出现“@P0' 附近有语法错误。”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020551

相关文章

金蝶KIS新建账套时 从字符串向DateTime转换时失败 从字符串转换为Datetime类型时发生语法错误

需要修改以下几点 控制面板---区域和语言选项---区域选项---自定义,修改为如下格式

SkyWalking之P0核心业务场景输出调用链路应用

延伸扩展:XX核心业务场景 路由标签打标、传播、检索 链路标签染色与传播 SW: SkyWalking的简写 用户请求携带HTTP头信息X-sw8-correlation “X-sw8-correlation: key1=value1,key2=value2,key3=value3” 网关侧读取解析HTTP头信息X-sw8-correlation,然后通过SW的关联上下文传

error C2144: 语法错误:“int”的前面应有“;”

百度网上都说是中文输入的问题。 但我的错误是函数声明时后面忘了加 ;真是要死。。。。。。

Redis用GEO实现附近的人功能

文章目录 ☃️概述☃️命令演示☃️API将数据库表中的数据导入到redis中去☃️实现附近功能 ☃️概述 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD:添加一个地理空间信息,包含:经度(longitude)、纬度(la

myibatis传多个参数

方法一:直接给每个参数指定参数名 Mapper: public List<TaskDic> listNewTask(@Param("userId")String userId,@Param("taskType") Integer type); xml: 不要加 parameterType 因为这里有String 和 Integer两个类型,这里指定不了 <select id="

mysql、redis、mongodb都是怎么实现 “附近的人” 功能的

米 | 千米 | 英尺 | 英里。 WITHDIST:在返回位置对象的同时,将位置对象与中心之间的距离也一并返回。距离的单位和用户给定的范围单位保持一致。WITHCOORD:将位置对象的经度和维度也一并返回。WITHHASH:以 52 位有符号整数的形式,返回位置对象经过原始 geohash 编码的有序集合分值。这个选项主要用于底层应用或者调试,实际中的作用并不大。ASC | DESC:从近到远

myIbatis

需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。   方法:在mapper中指定keyProperty属性,示例如下: Xml代码   <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzho

牛腩(2)-'calues' 附近有语法错误

背景项目:牛腩新闻发布系统; 网页提示:'calues' 附近有语法错误“/新闻发布系统”应用程序中的服务器错误。 问题截图: 遇到类似的 Bug ,思考的方向可以看两个地方; 第一,附近有语法错误前面单引号里面的单词 第二,源错误,里面红色字体的代码。 最后发现是“语法错误前面单引号里面的代码写错了”,知道是这个错误后心里一边是高兴问题解决了,一边

geo hash 与附近点算法思考

大家先了解geo hash 如何划分地球的 https://blog.csdn.net/u011497262/article/details/81210634 思考 如果把地球看成一个平面分成很多块,也就是32块,横着8块 竖着4块,分别是划分 3 次 我想了下    横着 -180 到180   竖着- 90 到  90    也就是分完了每一块的长和宽都是 45度的样子,是一个正方形

附近点搜索算法

前言:          闲来无事,想没事找事,研究个算法玩,前些日子看了knn算法颇有感触,公司有个搜附近电影院功能,是用mysql数据库按经纬度实现的,数据库电影院数据现在只是几千家,以后多了效率就低了吧,不管怎么样想自己写个搜附近的算法,然后开始在网上找,最后想了个算法,虽然也敲出来了,但是漏洞很多,不过也跟大家分享一下。   解决什么问题?          其实就是搜附近点的问题