The content of element type “configuration“ must match “(properties?,settings?,typeAliases?,typeHand

 BUG描述

        在Mybatis核心配置文件中配置setting,顺序出错导致报错,实际上配置文件中的各个类型节点是有严格顺序的!

        具体可以参考下面这篇文章:

MyBatis核心配置文件的标签顺序【笔记整理】icon-default.png?t=N176https://blog.csdn.net/modao_huohuo/article/details/107706555?ops_request_misc=&request_id=&biz_id=102&utm_term=mybatis%E6%A0%B8%E5%BF%83%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E4%B8%A5%E6%A0%BC%E9%A1%BA%E5%BA%8F&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-107706555.142^v73^pc_new_rank,201^v4^add_ask,239^v2^insert_chatgpt&spm=1018.2226.3001.4187

报错完整信息

The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)".

原始错误代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
<!--                数据库连接信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="402025"/>
            </dataSource>
        </environment>
    </environments>
<!--    加载sql映射文件-->
    <mappers>
        <mapper resource="itheima/mapper/UserMapper.xml"/>
        <mapper resource="itheima/mapper/BrandMapper.xml"/>
    </mappers>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

解决方案

将配置信息settings节点放在最前面即可。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
<!--                数据库连接信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql:///mybatis?useSSL=false"/>
                <property name="username" value="root"/>
                <property name="password" value="402025"/>
            </dataSource>
        </environment>
    </environments>
<!--    加载sql映射文件-->
    <mappers>
        <mapper resource="itheima/mapper/UserMapper.xml"/>
        <mapper resource="itheima/mapper/BrandMapper.xml"/>
    </mappers>
<!--    <settings>-->
<!--        <setting name="mapUnderscoreToCamelCase" value="true"/>-->
<!--    </settings>-->
</configuration>

报错消失,能够正常查询表中的所有数据

 踩坑+1

猜你喜欢

转载自blog.csdn.net/qq_52487066/article/details/129373363