写一个简单的存储过程,简单的逻辑,简单的语句,如下

IF @TYPE = '1' BEGIN组

。。。(查询语句)

END

IF @TYPE = '2' 
BEGIN
。。。(查询语句)
END

ELSE BEGIN 
。。。(查询语句)
END

简单语句用mybatis调用该存储函数,type传值为‘1‘时报空指针错误,提示我参数设置错误

懵逼的检查着我的Mapper、dao、service,没有问题,但是传值‘1’就是不可以!就是报错!

好吧,我直接数据库运行这个存储函数,传值‘1’,崩溃的是,数据能完美的、顺顺利利的出来!

我X,这是什么鬼,然后懵逼的换了下各个if下面的语句,好吧,只要是‘1‘就是有问题~

查了度娘还以为是什么返回值的问题,但是我把原来1的位置的SQL放到其他下面还是可以出来的啊!

最后我重新排查了下语句,第二个if前面没else,但是从java的逻辑来说这样也可以吧,不过这是存储过程的话那还是把他加上吧!

IF @TYPE = '1' BEGIN组

。。。(查询语句)

END

ELSE IF @TYPE = '2' 
BEGIN
。。。(查询语句)
END

ELSE BEGIN 
。。。(查询语句)
END

然后,然后,然后他就好了。。。花了我两个小时排查的问题。。。他就好了,虽然很开心,但是很崩溃!!!!!

好的,就这样了,我去哭会儿