虽然这不是自学习编程以来遇到的第一个错误,但却是本人记录的第一个错误。每一个程序员都会遇到错误(当然菜鸟遇到的最多)错误并不可怕,我们要在改错的过程中成长。
错误内容:
严重: web应用程序[/maven-web-project02]中的Servlet[springmvc]引发了load()异常org.xml.sax.SAXParseException;
如下
这是一个集成Mybatis、Spring、SpringMvc框架的maven项目 ,看一半天也看出什么原因,上网查了一下发现是因为我将applicationContext.xml和spring-mvc两个文件放在了mapper文件夹下,导致程序运行时找不到这两个文件,把他们从mapper中移出就好。由于忘记了mapper文件夹的作用,我将其中的所有文件移出,又出现以下错误:
严重: 在路径为/maven-web-project02的上下文中,Servlet[springmvc]的Servlet.service()引发了具有根本原因的异常Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): dao.ProviderDao.findAllProvider
大概说的是MyBatis无法找到名为dao.ProviderDao.findAllProvider
的映射语句。通过查阅以前的上课资料结合网上给出的可能原因再仔细排查发现这里的providerMapper.xml文件(SQL映射文件)未置于mapper文件夹下,将其移进去即可
这里简单说一下<property name="mapperLocations" value="classpath:mapper/*.xml"></property>
这段代码是Spring与MyBatis整合后的配置代码,指定SQL映射文件的地址。映射文件通过"mapperLocations"属性指定。这里的值"classpath:mapper/*.xml"表示所有在classpath路径下/mapper文件夹中的.xml文件都是映射文件。当SQL映射文件未置于mapper文件夹下程序将找不到该映射文件。
以上就是本次错误分享的全部内容,虽然是一些低级错误,但对于初学者或者掌握不够的人来说还是比较容易出现的,发现错误(长个记性)并改正它才会一步步提升。希望对于踩坑的你有所帮助!