在写后端方法的时候,明明感觉没有错误,却有的电脑可以正常运行,有的电脑在 swagger 中报500错误,为什么呢?只因为没有给参数加注解。
1. 如果不给参数加注解,那么在 Mapper 中的 SQL 语句的参数要和 Dao 层中传的参数一一对应,比如在 Mapper 中的 SQL 语句如下:
而在 Dao 层中的参数如下:
在 Dao 层中的参数,userId在前,phoneficId在后,而在 SQL 语句中却先使用 phoneficId 参数,后使用 userId 参数,这样就在有的电脑上引起500错误。如果不加注解,那么在 SQL 中就要先使用第一个参数,后使用其他的参数,即传的参数的次序要和使用次序一一对应。
2. 为了避免这样的错误,最省劲的办法就是给每一个参数都加上注解,如下:
如果传的参数中只有一个,那么加不加注解倒无所谓,但是还是建议给参数加上注解。在 IDEA 中安装了 MyBatisX 或 Free MyBatis plugin 插件后,添加注解的快捷键是 ALT + Enter。
3. 为什么在有的电脑上就可以正常运行,而有的电脑却报500错误呢?
这是和安装的jdk版本和IDEA的版本有关的,如果是之前的版本,不加注解的话就会出现500错误,如果是较新的版本,那么即使不加注解也可以正常运行,不过为了方便,还是强烈建议给所有的参数都加上注解!!!