您的位置:首页 > 编程语言 > Java开发

spring整合mybatis报错Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容

2017-07-12 21:56 621 查看
在spring的配置文件中配置mybatis时使用的是:

<!--控制和MyBatis整合-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!--指定Mybatis全局配置文件路径-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="dataSource" ref="pooledDAtaSource"/>
<!--指定mybatis的mapper文件路径-->
<property name="mapperLocations" value="classpath:mapper"/>
</bean>


这样写时提示
Cause: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容
,后来百度,大多都是说生成的xml文件带bom格式,解决办法如下:

怀疑是字符编码问题,于是把新提交的mapper文件复制出来用notepad打开,点击格式菜单,发现这几个文件的编码格式都是 “以UTF-8格式编码”,改成 “以UTF-8无BOM格式编码”,保存之后再复制回来,启动项目,报错消失


但是发现编码并没有问题,后来找到原因,是指定的mapper.xml文件路径错误,配置片段改为:

<!--控制和MyBatis整合-->
<bean class="org.mybatis.spring.SqlSessionFactoryBean">
<!--指定Mybatis全局配置文件路径-->
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="dataSource" ref="pooledDAtaSource"/>
<!--指定mybatis的mapper文件路径,这里进行了路径修改-->
<property name="mapperLocations" value="classpath*:/mapper/*Mapper.xml"/>
</bean>


此时错误消失。将这两个问题都记下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mybatis
相关文章推荐