今日Bug:今天学习Mybatis框架时,遇到的一个问题,记录一下。
在配置mybatis核心配置文件中的mappers映射配置后,使用代理模式创建dao层接口对象操作数据库时出现的异常
UserDao userDao = sqlSession.getMapper(UserDao.class);
- 环境:普通Web项目,只用了Mybatis框架,配置开发,mysql数据库
1、Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.binding.BindingException: Type interface com.yunhe.dao.UserDao is already known to the MapperRegistry.
-
异常原因:翻译一下发现异常信息大概是说当前映射是已知的!产生原因就是标签中有重复配置的映射。
-
一般场景:对***mapper.xml文件配置了映射,又对该映射文件对应的接口配置了映射。
-
处理方法:排查中出现的重复配置,保证每个映射只被配置一次。