如题,数据库中有数据,参数传递的也对,打印出sql 到数据库执行也能查到数据,但是代码就是不行,就是查不到数据。
原始mapper如下:
Mybatis sql查不到数据

后来改为下面,成功了
Mybatis sql查不到数据
原因是:
MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(自动在前后加单引号)也就是说,他把你传入的字符串并没有当做多个值,而是当做一个大的字符串,所以查询不到值

而MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。

将#变为$,去掉jdbcType即可。

相关文章:

  • 2022-12-23
  • 2021-07-31
  • 2021-08-02
  • 2022-12-23
  • 2021-06-23
  • 2021-10-31
  • 2021-11-13
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案