我在使用mybatis中的注解对数据库中的信息进行操作时,出现了下述错误
我在mapper接口中定义了该方法,并且使用注解绑定了对应的SQL语句
//增加用户信息 @Insert("insert into user values(#{id},#{name},#{password})") int addUser(user user);
但是发生了异常
错误描述如下所示:
### Error building SqlSession. ### The error may exist in mappers/userMapper.xml ### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for mappers.userMapper.addUser. please check mappers/userMapper.xml and mappers/userMapper.java (best guess)
编译器告诉我们该错误位于mappers/userMapper.xml中,导致该异常的原因是mapper文件中已经有了addUser方法,而在mapper接口中又包含了名称相同的方法,在 MyBatis 中同时使用注解和 XML 来映射同一个方法,会导致冲突和错误。因为 MyBatis 不允许同一个方法既有注解映射又有 XML 映射,既然我们是想通过注解的方式实现,那么只要将XML文件中同名的方法删除即可!