Mybatis查询方法selectById()主键不一致问题

Mybatis-plus的通用mapper为我们封装了很多方法,我们只需要将interface集成BaseMapper就可以。在BaseMapper中分装了一个方法=》selectById()

selectById

这个方法是根据主键id进行查询记录的。返回一条记录。测试如下,

Mybatis查询方法selectById()主键不一致问题

最终调用的是这个方法userDiamondMapper这个接口集成了BaseMapper。

Mybatis查询方法selectById()主键不一致问题

Mybatis查询方法selectById()主键不一致问题

注意这个表的主键就是uid,查询试试

Mybatis查询方法selectById()主键不一致问题

返回结果不如我们预期,打印出的SQL很奇怪,并没有解析正确。猜测是因为无法正确解析出主键。

改一下,使用注解标记一下主键

Mybatis查询方法selectById()主键不一致问题

使用@TableId注解标记主键id为uid,重试下

Mybatis查询方法selectById()主键不一致问题

这次终于正确了

注意:selectById方法默认使用的主键名是id,数据库表中如果主键id名称不一样需要手动指定

上一篇:DAO模式代码阅读及应用


下一篇:Spring - AOP之传统自动代理