There is no getter for property named ‘col‘ in ‘class String‘,不是说一个参数不需要@Param注解吗?#{}和${}的区别
1. 当一个String类型的参数作为sql语句的where条件可以正常运行
2. 当一个String类型的参数不作为sql语句的where条件,而表示一个表名或列名,报错:Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near.
3. 出现第二点的语法错误,其实是因为#{}使用的是PreparedStatement,这种Statement使用占位符,无法字符串拼接,因此当一个参数要作为表名或列名时,需要使用${}.
解决:在接口的方法中为String类型参数使用@Param注解,最终程序代码如下图。
总结:
①虽然有时只有一个参数,但依然需要使用@Param注解;
②#{}和${}的区别:#{}使用的是PreparedStatement,不存在sql注入;而且可以预编译、批量操作,所以效率高。而${}使用的是Statement,存在sql注入;但是${}可以用在参数是表名或列名的情况。
There is no getter for property named ‘col‘ in ‘class String‘,不是说一个参数不需要@Param注解吗?#{}和${}的区别相关推荐
- mybatis报错There is no getter for property named '***' in 'class ***'
mybatis报错There is no getter for property named '***' in 'class ***', 检查一看是xml中映射字段拼写错误,大小写. 有的时候用插件生 ...
- mybaits错误解决:There is no getter for property named 'parentId ' in class 'java.lang.String'
在使用mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter来代替参数名. 比如mapper中如下方法,只有一个String值 publ ...
- 异常处理:Mybatis报错:There is no getter for property named ‘xxxx‘ in ‘class xxx‘
异常处理:Mybatis报错:There is no getter for property named 'xxxx' in 'class xxx' 参考文章: (1)异常处理:Mybatis报错:T ...
- MyBatis3: There is no getter for property named 'code' in 'class java.lang.String'
mybatis3 : mysql文如下,传入参数为string类型时'preCode',运行报错为:There is no getter for property named 'preCode' i ...
- Mybatis中传参包There is no getter for property named XXX in class java.lang.String
一.发现问题 <select id="queryStudentByNum" resultType="student" parameterType=&quo ...
- Mybatis问题:There is no getter for property named 'unitId' in 'class java.lang.String'
Mybatis遇到的问题 问题: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.re ...
- 解决MyBatis的报错 There is no getter for property named ‘*‘ in ‘class java.lang.String‘
报错样式: Mapper的内容: 核心问题就是这一句: There is no getter for property named '*' in 'class java.lang.String' 意思 ...
- 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'...
现在流行的 ssm(spring + struts2 + myBatis) 持久层的mybatis是需要配置映射器的,找了个demo连接的数据库是MySQL 于是就修改了一下弄成了连接Oracle的 ...
- 关于 There is no getter for property named ‘id‘ in ‘class java.lang.Integer‘
errMsg=org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.R ...
最新文章
- 一文详解 API 设计最佳实践
- MATLAB实战系列(三十八)-基于K-means聚类算法的MATLAB图像分割
- iOS开发之Quzrtz2D 一:认识Quzrtz2D
- LeetCode_图类
- 量子计算机设计理念和思路,课程的设计理念与思路
- Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心
- Django创建mysql数据库常用字段及参数
- MySQL 重中之重 [ 事物 ]
- 2018年小米竟发布了16款手机,然而最值得入手的是它!
- 机器学习与计算机视觉(移动端深度学习优化框架)
- linux如何运行python_[TimLinux] Python如何运行程序
- JavaWeb——response与request
- Python中如何打印空行
- HyperLedger Fabric 1.2 超级账本简介(5.2)
- 目的路径太长如哈删除_win7系统删除文件夹提示“无法访问此文件夹 路径太长”如何解决...
- h5微信游戏服务器,H5游戏微信大型帮派战源码分享 带服务器端+客户端
- [UWP]如何实现UWP平台最佳图片裁剪控件
- pgloader mysql_pgloader 学习(四)一些简单操作例子
- mysql XA 分布式事务、DTM TCC事务(多语言支持)
- 《哲学100问》读书感想:为什么要做一个道德的人
热门文章
- 【整理】Smartforms的导出和导入
- 【温故知新】HTML学习笔记(下)
- FOR ALL ENTRIES IN内表排序、排重对性能的影响
- sap知识-MPS和MRP的区别
- 财务审批流程都有哪些步骤呢?
- MONTH_NAMES_GET
- fastadmin html模板,fastadmin 使用记录
- 计算机组成原理汇编程序实验,计算机组成原理汇编实验(资料).pdf
- java treeset 红黑树_【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
- Python教程:with ... as 语句你懂嘛?