这是一个很简单的修改sql 参数类型为map 经过自己测试 plateNo这个参数的值只要为纯数字就会抛异常
这是打印的sql
这是sql的异常 网上找到的这个异常的错误大概是 varchar类型字段用了数值类型 上面可以看出字段plate_no的值确实为long类型 #{}这个占位符在sql编译后再编译参数 而编译参数后不是一定会带 '' 吗 就相当于参数最后为‘12345’
这里我暂时的解决办法是加一个CONCAT函数拼一个''
为啥纯数字就会抛这个异常 烦请大神解惑 万分感谢!
<p>#{}参数是使用的PrepareStatment,不是拼接字符串</p>
也就是说#{} 不是所有参数都带一个''单引号 比如数值类型的参数是不带''单引号的?
<p>jdbcType</p>
<p>用$试试</p>
<p>@Param("plateNo")Int plateNo</p>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。