tk.mybatis使用内置方法selectByPrimary()时的坑:
当我在使用该方法时,根据传入的id主键,查询出一个关于User并打印时,不成功实例:
可以看到图中执行的sql出错。说是执行时找不到这个方法的主键,所以tk.mybatis变成了联合查询。这时去查了一些资料:
主要的解决办法是:
①可能是由于没有给User的主键属性添加@Id这个注解。
②@Id导包时出错,import javax.persistence.Id;
③这是我出错的地方。应该给User这个实体类里主键的属性设置为Integer。
到这里,我以为结束了,但是根据网上的方法,我发现即使改成了Integer类型,也还是不行。
于是我发现了get方法还没有改回返回Integer类型。更改以后测试了下,果然成功了。
如果存在get方法,那么返回类型一定得是Integer,因为如果给id设置成int类型,也是不影响执行成功的。
放上图片:
可以看到sql语句查询出了结果。