记录一次mybatis使用无参数mapper方法踩的坑。
mybatis版本2.2.0
当时这么写的
mapper.java
int updateA();
mapper.xml
<update id="updateA">
update table_a set a = 1 where a = 2;
</update>
serviceImpl.java
mapper.updateA();
语句经过测试,没有问题,但是到了代码中,执行到调用此方法
serviceImpl.java
mapper.updateA();
报了个空指针异常,点进去看了一下,发现最里面那一层抛了一个异常MyBatisSystemException
百度了一下,说是跟参数有关系,我寻思我这也没有参数啊,但是联想到最后的空指针异常,就随便给了个参数,虽然用不到
service.java
int update(Long id);
serviceImpl.java
int updateA(1L);
然后就奇迹般的通过了,没再报错,无语了老半天,花了两个小时。