mybatis使用maven打包导致的 Invalid byte 3 of 3-byte UTF-8 sequence问题解决

产生问题条件:

maven项目,其中项目使用到了mybatis,mybatis的配置文件xml包含了中文。

报错信息:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from relative location [spring-db.xml]
Offending resource: class path resource [spring/spring-config.xml]; nested exception is org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 24 in XML document from class path resource [spring/spring-db.xml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 20; Invalid byte 3 of 3-byte UTF-8 sequence.
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:118)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:103)
    

从错误上面看,就是xml文件编码问题,接着开始查看XML编码

1、发现确实不是UTF-8编码(这种情况可能拷贝被人的代码导致),然后把编码转换成UTF-8,接着你会发现,问题可能还在;

2、第一步后,就蒙了。。。

解决方案(把资源文件统一采用UTF-8编码):

       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用中提到了一些可能导致引入mybatis-plus时出现"Invalid bound statement (not found)"错误的原因,包括mapper.xml文件不存在、mapper.xml文件内容有误以及mapper.xml文件路径配置有误。所以解决这个问题的方法也涵盖了这三个方面。 首先,确保mapper.xml文件存在并且路径正确。如果文件不存在或者路径配置有误,就会导致无法找到指定的SQL语句。 其次,检查mapper.xml文件的内容。可能是SQL语句的id写错了,或者SQL语句的格式有问题,比如缺少必要的标签或者标签嵌套错误。 最后,可以根据引用中提到的代码片段来定位具体出错的位置。在这段代码中,如果configuration.hasStatement(statementId)返回false,就说明找不到对应的SQL语句。此时,可以检查一下mapper接口是否正确地与mapper.xml文件相对应。 总结一下,解决"Invalid bound statement (not found)"错误的方法包括检查mapper.xml文件的存在和路径配置、检查mapper.xml文件的内容是否正确、以及确保mapper接口与mapper.xml文件相对应。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mybatis plus 常见问题Invalid bound statement (not found)解决方法汇总](https://blog.csdn.net/zhicong1652/article/details/127475671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [mybatis/mybatis plus报错:Invalid bound statement (not found) 解决方法汇总](https://blog.csdn.net/mashangzhifu/article/details/122808181)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值