在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>