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注解吗?#{}和${}的区别相关推荐

  1. mybatis报错There is no getter for property named '***' in 'class ***'

    mybatis报错There is no getter for property named '***' in 'class ***', 检查一看是xml中映射字段拼写错误,大小写. 有的时候用插件生 ...

  2. mybaits错误解决:There is no getter for property named 'parentId ' in class 'java.lang.String'

    在使用mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter来代替参数名. 比如mapper中如下方法,只有一个String值 publ ...

  3. 异常处理: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 ...

  4. 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 ...

  5. Mybatis中传参包There is no getter for property named XXX in class java.lang.String

    一.发现问题 <select id="queryStudentByNum" resultType="student" parameterType=&quo ...

  6. 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 ...

  7. 解决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' 意思 ...

  8. 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'...

    现在流行的 ssm(spring + struts2 + myBatis)  持久层的mybatis是需要配置映射器的,找了个demo连接的数据库是MySQL 于是就修改了一下弄成了连接Oracle的 ...

  9. 关于 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 ...

最新文章

  1. 一文详解 API 设计最佳实践
  2. MATLAB实战系列(三十八)-基于K-means聚类算法的MATLAB图像分割
  3. iOS开发之Quzrtz2D 一:认识Quzrtz2D
  4. LeetCode_图类
  5. 量子计算机设计理念和思路,课程的设计理念与思路
  6. Zookeeper系列四:Zookeeper实现分布式锁、Zookeeper实现配置中心
  7. Django创建mysql数据库常用字段及参数
  8. MySQL 重中之重 [ 事物 ]
  9. 2018年小米竟发布了16款手机,然而最值得入手的是它!
  10. 机器学习与计算机视觉(移动端深度学习优化框架)
  11. linux如何运行python_[TimLinux] Python如何运行程序
  12. JavaWeb——response与request
  13. Python中如何打印空行
  14. HyperLedger Fabric 1.2 超级账本简介(5.2)
  15. 目的路径太长如哈删除_win7系统删除文件夹提示“无法访问此文件夹 路径太长”如何解决...
  16. h5微信游戏服务器,H5游戏微信大型帮派战源码分享 带服务器端+客户端
  17. [UWP]如何实现UWP平台最佳图片裁剪控件
  18. pgloader mysql_pgloader 学习(四)一些简单操作例子
  19. mysql XA 分布式事务、DTM TCC事务(多语言支持)
  20. 《哲学100问》读书感想:为什么要做一个道德的人

热门文章

  1. 【整理】Smartforms的导出和导入
  2. 【温故知新】HTML学习笔记(下)
  3. FOR ALL ENTRIES IN内表排序、排重对性能的影响
  4. sap知识-MPS和MRP的区别
  5. 财务审批流程都有哪些步骤呢?
  6. MONTH_NAMES_GET
  7. fastadmin html模板,fastadmin 使用记录
  8. 计算机组成原理汇编程序实验,计算机组成原理汇编实验(资料).pdf
  9. java treeset 红黑树_【数据结构】红黑树与跳表-(SortSet)-(TreeMap)-(TreeSet)
  10. Python教程:with ... as 语句你懂嘛?