部署代码到正式环境,配置的时候给一个类似 INT 类型的字符串多添加了一个空格,但是写代码的时候使用的是?占位符写法,结果查询不出数据数据;当时直接放到数据库查可以查出数据,我都怀疑是环境的问题,结果发现通过数字查询字符串类型数据会强转为数字;
例如字段 fileId = ' 123 '
select * from Table_1 where fileId = 222
这是可以查询到数据的,但是使用占位符写法,传值的时候会是吧变量是什么类型;导致执行的时候变成了:
select * from Table_1 where fileId = '222'
这种就查询不出数据,裂开,记录哈