在使用通用mapper的时候,如果调用默认的selectByPrimaryKey方法,以及updateByPrimarykey和deleteByPrimaryKey方法的时候,无法进行相关操作,如果传递参数的类型错误,会直接报错,无法继续进行。有的时候,会忽略一个问题,就是在使用通用mapper的时候,对应数据库映射的实体类的主键为进行id的指明,就会发生无法根据id查询,无法根据id删除以及修改等问题。
所以在使用通用mapper的时候,一定要在对应的实体类中的主键属性上面加上@Id注解,标明到底是否主键id。这样就能够使用对应的方法了。
如下所示:
在实体类的主键属性加上这个注解:
@Id
private String userid;
调用下面方法测试即可。
Userinfo info = this.userMapper.selectByPrimaryKey(id);
int isUpdate = this.userMapper.updateByPrimaryKeySelective(info);