问题背景
- 在学习 Spring Boot 架构时候,本着尽可能减少手动配置的态度,在处理 Mapper 的时候,引入了通用 Mapper 来对单表查询进行一些自动化生成
- 在测试其中的 selectByPrimaryKey 方法的时候,出现错误,无法正确查询出结果
- 观察日志中自动生成的 SQL 语句如下
错误原因
- 通用 Mapper 的 selectByPrimaryKey 方法无法识别 int 类型,需要在 POJO 类中将 int 改为包装类型 Integer
- 其他类型如 Long 则无这种情况
解决方案
- 由 Integer 替换 POJO 中的 int 类型来进行声明,如图
- 其他:需要对主键加上注解 @Id ,selectByPrimaryKey 才会生效
- 修改完毕之后再次执行程序,问题解决