前几天发现在dao层,有的同事没有使用@Param注解,导致系统报错
错误如下:
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘uid’ not found. Available parameters are [arg1, arg0, param1, param2]
但是同事的电脑上没有使用@Param,也可以正常运行.
同一套代码在不同电脑上跑出来的结果不一样,那可以肯定两台电脑的运行环境肯定有所不同。
直接说结论:我们不同的地方是ojdbc jar包不同,因为maven3不支持下载oracle的ojdbc,所以我通过一个jar包,然后注册到本地maven库里面。我将以前的maven库删除,使用同事的jar包注册,再clean,compile就可以了。
为什么会出现这种问题暂时还没有搞明白,先记录下来
具体操作:
1.删除 maven\repository\com\oracle 下的文件
2.将ojdbc6-11.2.0.3.jar包放到某一个文件夹下,比如E盘
3.注册ojdbc
mvn install:install-file -Dfile=E:\ojdbc6-11.2.0.3.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true
4.clean
5.然后compile