今天在练习mybatins的时候,突然思考一个问题。
StudentDao接口中的方法

Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b
测试方法

测试方法中字符串里面又加了一个单引号的字符串是我在尝试,这个加不加报错的信息都是一样的

Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b
mapper中
Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b

报错信息
Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b
由前面的运行过程可以看出来,前面都没问题,就是到19行,不能映射到mapper
然后把String name 换成了Integer id 这个id是我这张表的主键。就能成功运行了
此时我又想,不应该啊,不是住键也应该能查出来信息的。我就用另一个参数 Integer age
运行结果
Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b
根据上图可以看到,这里是已经查询出来结果了。但是有个错误,意思是,查询到结果了,但是不是一个结果,而是两个
因为我定义的方法是只查询了一个,没往集合里面放,所以有错误。这个正常
所以说,不是主键,也能查出来结果。但是为什么这里使用字符串就查不出来呢。
为了验证字符串在MySQL中没有问题
Could not set parameters for mapping 和Expected one result (or null) to be returned by selectOne(), b
我直接使用cmd窗口查询,可以看到字符串是没问题的。
这个字符串的名字是11的原因是,我字母,汉字,数字都做了尝试
我又去查了些别的资料。可能是我对mybatis的了解程度还不够。我就先把这个写出来,哪天再回过头看,希望能明白原因。

相关文章:

  • 2021-11-06
  • 2021-06-23
  • 2021-08-02
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2022-01-10
猜你喜欢
  • 2021-09-09
  • 2021-08-02
  • 2022-12-23
  • 2021-11-30
  • 2022-12-23
相关资源
相似解决方案