1、当你使用MyBatis遇到程序中不可能产生的问题(Mybatis错误机制很low)。
2、当你程序中有用到存储过程(需要授权的操作)。
3、当你代码在其他环境运行正常(代码一致,数据库数据一致)。
4、当你用ROOT在线上正常的执行出SQL结果集。
最近项目上线,遇到myBatis的大坑,Mybatis一直报异常java.lang.ArrayIndexOutOfBoundsException,于是开始查找代码,代码中调的是存储过程,然后同事一直使用ROOT用户执行SQL跑出来的数据结果集是正常的,在测试环境程序运行也正常,但是在正式环境就是不行,最后发现是因为授权的原因。
如果在程序上线时,遇到很莫名其妙的问题,在其他环境运行都很正常的情况,先不要把精力都放在找程序问题上,因为myBatis错误机制就是一个大坑,如果符合我上面的描述,先检查一下自己的用户授权。