mybtatis update语句 返回值为null
报错:attempted to return null from a method with a primitive return type (int) 尝试将null放入int
这个问题很奇怪:一般来说不应该会出现这样的问题,因为update语句就算没有更新到数据也只会返回零,而不会返回null。
产生这样的问题遇到过两种情况:
1.update语句用了@Select注解(太粗心了)
2.某个事务没有提交,导致一直无法更新。(当时产生这种情况主要是在开启了某个事务的时候,服务重启了,事务没有提交到。还有表死锁应该也是同样的道理)
查看事务
select * from information_schema.INNODB_TRX;
查看锁
select * from information_schema.INNODB_LOCKS;
查看锁等待
select * from information_schema.INNODB_LOCK_WAITS;
kill掉对应 thread 就好 (开发环境的时候)