refealbellic
2019-04-16 17:03
采纳率: 100%
浏览 1.3k
已采纳

【mybatis generator的报错】前期配置问题!!!!!官方文件看了一直也一头雾水

错误如下

Description Resource Path Location Type
The content of element type "context" must match "(property*,plugin*,commentGenerator?,(connectionFactory|jdbcConnection),javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+)". generatorConfig.xml /oracle/generator line 4 XML Problem

指向的代码错误是这样的

<generatorConfiguration>
 <context id="oracleTables" defaultModelType="hierachical" targetRuntime="MyBatis3">

错误指向context id 改了半天一直报错。。难道是pom.xml的代码顺序问题??
补源代码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
  <context id="oracleTables" defaultModelType="hierachical" targetRuntime="MyBatis3">

    <!-- 自动识别数据库关键字段,默认false -->
    <property name="autoDelimitKeywords" value="false"/>  

    <!-- 生成的Java文件的编码 -->
    <property name="javaFileEncoding" value="UTF-8"/>

    <!-- 格式化XML代码 -->
    <property name="xmlFormatter" value="org.mybatis.generator.api.dom.DefaultXmlFormatter"/>

    <!-- 指明数据库的用于标记数据库对象名的符号 -->
    <property name="beginningDelimiter" value='"'/>
    <property name="endingDelimiter" value='"'/>

    <!-- 连接oracle -->
    <jdbcConnection connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" 
    driverClass="oracle.jdbc.driver.OracleDriver"
    password="S123456" userId="c##refeal" />

     <!-- Java类型处理器 -->
    <javaTypeResolver type="org.mybatis.generator.internal.types.JavaTypeResolverDefaultImpl">
    <property name="forceBigDecimals" value="false"/>
    </javaTypeResolver>

    <!-- Java模型创建器 -->
    <javaModelGenerator targetPackage="com.SJY.domain" targetProject="src/main/java" />
    <!-- for mabatis3
        自动为每个生成的类创建一个构造方法
     -->
    <property name="constructorBased" value="false"/>

    <!-- 在targetPachage的基础上,根据数据库的schema再生成一层package,最终生成的类放到这个package下 -->
    <property name="enableSubPackages" value="true"/>

    <!-- for MyBatis3 
        是否创建一个不可变类
    -->
    <property name="immutable" value="false"/>

    <!-- 设置是否在getter方法中,对String类型字段调用trim()方法 -->
    <property name="rootClass" value="com.sjy.domain"/>

    <!-- 生成SQLmap的XML文件生成器 -->
    <sqlMapGenerator targetPackage="com.SJY.dao" targetProject="src/main/resources" />
     <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package -->
    <property name="enableSubPackages" value="true"/>

    <!-- 生成mapper接口 -->
    <javaClientGenerator targetPackage="com.SJY.domain" targetProject="src/main/java" type="XMLMAPPER" />
    <!-- 在targetPackage的基础上,根据数据库的schema再生成一层package -->
    <property name="enableSubPackages" value="true"/>

    <!-- 与数据库相对应 -->
    <table schema="" tableName="SJY_YH_YHXXB" domainObjectName="YH_YHXXB" mapperName="YH_YHXXBMapper"
        enableUpdateByExample="true" enableDeleteByExample="true"
        enableSelectByExample="true" selectByExampleQueryId="true">
        <generatedKey column="USERID" sqlStatement="SELECT SJY_YH_YHXXB_SEQUENCE.nextval AS USERID from DUAL"/>
      <columnOverride column="USERID" property="???" />
    </table>
  </context>
</generatorConfiguration>

表字段暂时可以无视吧

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • Amo_lt 2019-04-16 18:13
    已采纳

    完整的xml文件贴一下,应该是少了其他标签,

    "context" must match "(property*,plugin*,commentGenerator?,(connectionFactory|jdbcConnection),javaTypeResolver?,javaModelGenerator,sqlMapGenerator?,javaClientGenerator?,table+
    

    这里说了,比如你还要在context里加

    <!--设置编码格式-->
            <property name="javaFileEncoding" value="UTF-8"/>
    

    等等

    打赏 评论
  • 去楼顶看星星 2020-04-03 11:54

    我的更鸡贼,外包方给的代码,好几个xml都报类似的错误,搜索了半天没搞懂问题的最根本原因。
    受此贴引导:剪切文件原内容,再原样粘贴,删除末尾空行,ok。

    打赏 评论

相关推荐 更多相似问题