zoukankan      html  css  js  c++  java
  • The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHa

    在运行mybatis配置文件的时候,出现错误:

    1. Caused by: org.xml.sax.SAXParseException: The content of element type "configuration" must match "(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,databaseIdProvider?,mappers?)". 

    参考了https://blog.csdn.net/zhaifengmin/article/details/44707351,修改了相关元素的顺序以后还是出现一样的错误,我的代码如下:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <!-- 引用db.properties配置文件 -->
    <properties resource="db.properties"></properties>
    <!--
    development : 开发模式
    work : 工作模式
    -->
    <!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
    <typeAliases>
    <!-- 为实体类me.gacl.domain.User配置一个别名_User -->
    <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
    <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
    比如me.gacl.domain.User这个实体类的别名就会被设置成User
    -->
    <package name="me.gacl.domain"/>
    </typeAliases>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <!-- 配置数据库连接信息 -->
    <dataSource type="POOLED">
    <!-- value属性值引用db.properties配置文件中配置的值 -->
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}" />
    <property name="username" value="${name}"/>
    <property name="password" value="${password}"/>
    </dataSource>
    </environment>
    </environments>

    <mappers>
    <!-- 注册userMapper.xml文件,
    userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
    <mapper resource="me/gacl/mapping/userMapper.xml"/>
    <!-- 注册UserMapper映射接口-->
    <mapper class="me.gacl.mapping.UserMapperI"/>

    </mappers>

    <mappers>
    <!-- 注册orderMapper.xml文件,
    orderMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/orderMapper.xml-->
    <mapper resource="me/gacl/mapping/orderMapper.xml"/>
    </mappers>

    </configuration>

    发现有两个mappers,将下面一个mappers中的内容放到第一个mappers中,,错误提示消失,问题解决,修改后的代码如下所示:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
    <!-- 引用db.properties配置文件 -->
    <properties resource="db.properties"></properties>
    <!--
    development : 开发模式
    work : 工作模式
    -->
    <!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
    <typeAliases>
    <!-- 为实体类me.gacl.domain.User配置一个别名_User -->
    <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->
    <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名
    比如me.gacl.domain.User这个实体类的别名就会被设置成User
    -->
    <package name="me.gacl.domain"/>
    </typeAliases>
    <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <!-- 配置数据库连接信息 -->
    <dataSource type="POOLED">
    <!-- value属性值引用db.properties配置文件中配置的值 -->
    <property name="driver" value="${driver}"/>
    <property name="url" value="${url}" />
    <property name="username" value="${name}"/>
    <property name="password" value="${password}"/>
    </dataSource>
    </environment>
    </environments>

    <mappers>
    <!-- 注册userMapper.xml文件,
    userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
    <mapper resource="me/gacl/mapping/userMapper.xml"/>
    <!-- 注册UserMapper映射接口-->
    <mapper class="me.gacl.mapping.UserMapperI"/>


    <!-- 注册orderMapper.xml文件,
    orderMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/orderMapper.xml-->
    <mapper resource="me/gacl/mapping/orderMapper.xml"/>


    </mappers>


    </configuration>

    一生有所追!
  • 相关阅读:
    数学形态学——腐蚀、膨胀、开、闭、细化
    VS2010中 报错:error C2146、error C4430 原因一:缺少CvvImage类
    帧同步和状态同步
    HTML5触摸事件演化tap事件
    screenX clientX pageX的区别
    phaser的小游戏的onInputDown问题
    phaser入手
    pixi.js 微信小游戏 入手
    正则表达式
    剖析Vue原理&实现双向绑定MVVM-2
  • 原文地址:https://www.cnblogs.com/BlueBlue-Sky/p/8919338.html
Copyright © 2011-2022 走看看