运行 SSM 项目的时候抛出如下异常:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.apache.ibatis.binding.BindingException:
Invalid bound statement (not found): com.str818.oa.dao.DepartmentDao.selectAll
很明显是 Mybaits 没有配置好,但是检查了各种命名、各种配置,没有找到哪出了问题,结果还是被 Idea 小坑了一波。
编译之后,mapper.xml 和 mapper.java 应该在同一个目录下。
在源目录下怎么都看不出问题,对吧,铁定是在一个目录下。
但是,在 target 目录下看编译之后就是不在同一目录,这就奇怪了。。。
手动把 mapper.xml 放到 mapper.java 目录下,就能正常运行,那就是目录的问题了。
到本地路径看发现包的名称竟然是 com.str818.oa.dao
而不是分成了 4 个文件夹。
这下明了了,重新创建一下四个文件夹目录就可以了。
可以像下图这样操作,显示中间目录,这样就可以看到是不是分了子目录。