(急急急100分)用过mybatis generator代码自动生成的朋友进来看看吧,感激不尽

时间:2021-10-09 17:57:04
今天开始学mybatis generator,弄了半天总报错,
在命令行输入java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite后总报错内容如下
XML Parser Error on line 1:前言中不能有内容,
以下是generator.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>
 
  <classPathEntry location="D:\generator\mysql-connector-java-5.1.5-bin.jar" />
 
  <context id="DB2Tables" targetRuntime="MyBatis3">
 <!-- 去除自动生成的注释 -->
 <commentGenerator>
   <property name="suppressAllComments" value="true" />
 </commentGenerator>
 
    <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wcrm" userId="root" password="1234">
    </jdbcConnection>

    <javaTypeResolver >
      <property name="forceBigDecimals" value="false" />
    </javaTypeResolver>
 
 <!-- targetProject:自动生成代码的位置 -->
    <javaModelGenerator targetPackage="com.test.model" targetProject="D:\generator\src">
      <property name="enableSubPackages" value="true" />
      <property name="trimStrings" value="true" />
    </javaModelGenerator>

    <sqlMapGenerator targetPackage="com.test.mapping"  targetProject="D:\generator\src">
      <property name="enableSubPackages" value="true" />
    </sqlMapGenerator>

    <javaClientGenerator type="XMLMAPPER" targetPackage="com.test.dao"  targetProject="D:\generator\src">
      <property name="enableSubPackages" value="true" />
    </javaClientGenerator>
 
 <!-- tableName:用于自动生成代码的数据库表;domainObjectName:对应于数据库表的javaBean类名 -->
    <table schema="ibis" tableName="ibis_info" domainObjectName="Ibis" >
      
    </table>
 
  </context>
  
</generatorConfiguration>
几乎都是粘贴的怎么会错呢,求有经验的朋友解答

24 个解决方案

#1


没有人遇到过吗,自己顶一下吧

#2


看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

#3


xml的格式存在问题,估计不规范

#4


引用 2 楼 fangmingshijie 的回复:
看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

这个真没有

#5


引用 2 楼 fangmingshijie 的回复:
看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

直接在别的地方拷的啊,能访问到xml里去,怎么改规范呢

#6


引用 3 楼 splendid_java 的回复:
xml的格式存在问题,估计不规范
直接在别的地方拷的啊,能访问到xml里去,怎么改规范呢

#7


这个文件截个图看看,

#8


引用 7 楼 fangmingshijie 的回复:
这个文件截个图看看,

一看您就是大牛,帮帮小弟吧,弄了一下午了,我QQ1297434366,麻烦加一下吧,感激不尽

#9


我也是用mybatis generator自动生成代码的,不过我用mybatis generator插件,在MyEclipse下自动生成。

<?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="SQLSERVERTables" targetRuntime="MyBatis3"
defaultModelType="conditional">
<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
<plugin type="org.mybatis.generator.plugins.MapperConfigPlugin">
<property name="fileName" value="GeneratedMapperConfig.xml" />
<property name="targetPackage" value="com.cy.mybatis.mbg.util" />
<property name="targetProject" value="Test" />
</plugin>
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.microsoft.jdbc.sqlserver.SQLServerDriver"
connectionURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Dsoktop"
userId="sa" password="">
</jdbcConnection>

<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>

<!-- 生成 Model,POJO -->
<javaModelGenerator targetPackage="com.xylcolor.vo.model"
targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>

<!-- 生成映射文件*.xml -->
<sqlMapGenerator targetPackage="mappers"
targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- 生成映射器类 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.xylcolor.dao" targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>

<!-- 指定要生成的表名和对应形成的POJO类名 -->
<table schema="" tableName="User" domainObjectName="User" />
</context>
</generatorConfiguration>

不过没有分页,得自己写插件,有些麻烦

#10


我的配置文件
<?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>
<!-- 数据库驱动包位置 -->
<classPathEntry location="D:\generator\mysql-connector-java-5.1.5-bin.jar" /> 
<!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库链接URL、用户名、密码 -->
 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wcrm" userId="root" password="1234">
<!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa"> -->
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="sy.model" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="sy.mapping" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="sy.dao" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
<table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>

#11


哎,真心不想用mybatis啊,太麻烦了,hibernate用的挺爽的

#12


你这个<?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">是有问题,我放在MyEclipse中报错,你把我的那个上面拷过去再试试看

#13


拷过去了,还是那个错误

#14


引用 12 楼 wozuiaijiahui 的回复:
你这个<?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">是有问题,我放在MyEclipse中报错,你把我的那个上面拷过去再试试看
拷过去了,还是那个错误

#15


额,但是我用运行JAR文件可以啊,不然你用Myeclipse插件直接运行那个XML文件试试

#16


将xml文件另存为ANSI格式竟可以了。

#17


不要用记事本换成UTF-8格式的  会有个BOM头  JAVA读取的时候就会报错了

#18


我也是报错  其实很简单 你把注释全部去掉就好了

#19


我认为17楼是正解,我也遇到这样的问题,我把该文件用notepad++打开,然后在菜单“格式”中选择“以UTF-8无BOM格式编码”,保存后就不会出错了。希望对大家有帮助。

#20


今天刚好遇到这个错误,不是你的配置文件写错了,是你配置文件保存的格式错误了,你应该是直接用记事本打开编辑的,解决办法就是去找一个普通的xml文件,然后用notepad++ 或editpus等编辑工具打开,再把你的代码贴回去,保存即可

将xml文件另存为ANSI格式竟可以了。
不要用记事本换成UTF-8格式的  会有个BOM头  JAVA读取的时候就会报错了
我把该文件用notepad++打开,然后在菜单“格式”中选择“以UTF-8无BOM格式编码”,

上面的几种方式我没去试,我是直接拿一个平时的xml用非记事本的编辑工具打开,把代码贴上去就可以了,在强调一次,就是你文件的格式有问题

#21


<!-- 注释里面必须加一个空格 --> 鉴定完毕

#22


把注释去掉 可以解决  谢谢了  (急急急100分)用过mybatis generator代码自动生成的朋友进来看看吧,感激不尽

#23


是字符集编码问题,你需要用记事本打开xml文件,把编码集改为ANSI

#24


我也遇到了这个问题,在网上找了半天解决办法,最后找到了。
其实很简单,就是XML文件保存格式问题,你应该和我一样是用记事本打开然后修改完了保存,然后就报错了吧。
解决办法就是还是记事本打开,修改完毕不要点保存,点另存为,
在保存窗口下边有文件名、保存类型、编码,把编码改为ANSI,然后点保存覆盖掉原文件就OK了,希望能帮到你。

#1


没有人遇到过吗,自己顶一下吧

#2


看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

#3


xml的格式存在问题,估计不规范

#4


引用 2 楼 fangmingshijie 的回复:
看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

这个真没有

#5


引用 2 楼 fangmingshijie 的回复:
看看xml文件的<?xml version="1.0" encoding="UTF-8"?>之前是否有空格,回车之类的。

直接在别的地方拷的啊,能访问到xml里去,怎么改规范呢

#6


引用 3 楼 splendid_java 的回复:
xml的格式存在问题,估计不规范
直接在别的地方拷的啊,能访问到xml里去,怎么改规范呢

#7


这个文件截个图看看,

#8


引用 7 楼 fangmingshijie 的回复:
这个文件截个图看看,

一看您就是大牛,帮帮小弟吧,弄了一下午了,我QQ1297434366,麻烦加一下吧,感激不尽

#9


我也是用mybatis generator自动生成代码的,不过我用mybatis generator插件,在MyEclipse下自动生成。

<?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="SQLSERVERTables" targetRuntime="MyBatis3"
defaultModelType="conditional">
<plugin type="org.mybatis.generator.plugins.EqualsHashCodePlugin" />
<plugin type="org.mybatis.generator.plugins.MapperConfigPlugin">
<property name="fileName" value="GeneratedMapperConfig.xml" />
<property name="targetPackage" value="com.cy.mybatis.mbg.util" />
<property name="targetProject" value="Test" />
</plugin>
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<jdbcConnection driverClass="com.microsoft.jdbc.sqlserver.SQLServerDriver"
connectionURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Dsoktop"
userId="sa" password="">
</jdbcConnection>

<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>

<!-- 生成 Model,POJO -->
<javaModelGenerator targetPackage="com.xylcolor.vo.model"
targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>

<!-- 生成映射文件*.xml -->
<sqlMapGenerator targetPackage="mappers"
targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>

<!-- 生成映射器类 -->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.xylcolor.dao" targetProject="项目名\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>

<!-- 指定要生成的表名和对应形成的POJO类名 -->
<table schema="" tableName="User" domainObjectName="User" />
</context>
</generatorConfiguration>

不过没有分页,得自己写插件,有些麻烦

#10


我的配置文件
<?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>
<!-- 数据库驱动包位置 -->
<classPathEntry location="D:\generator\mysql-connector-java-5.1.5-bin.jar" /> 
<!-- <classPathEntry location="C:\oracle\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar" />-->
<context id="DB2Tables" targetRuntime="MyBatis3">
<commentGenerator>
<property name="suppressAllComments" value="true" />
</commentGenerator>
<!-- 数据库链接URL、用户名、密码 -->
 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/wcrm" userId="root" password="1234">
<!--<jdbcConnection driverClass="oracle.jdbc.driver.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="msa" password="msa"> -->
</jdbcConnection>
<javaTypeResolver>
<property name="forceBigDecimals" value="false" />
</javaTypeResolver>
<!-- 生成模型的包名和位置 -->
<javaModelGenerator targetPackage="sy.model" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator>
<!-- 生成的映射文件包名和位置 -->
<sqlMapGenerator targetPackage="sy.mapping" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator>
<!-- 生成DAO的包名和位置 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="sy.dao" targetProject="D:\generator\src">
<property name="enableSubPackages" value="true" />
</javaClientGenerator>
<!-- 要生成那些表(更改tableName和domainObjectName就可以) -->
<table tableName="student" domainObjectName="Student" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false" />
</context>
</generatorConfiguration>

#11


哎,真心不想用mybatis啊,太麻烦了,hibernate用的挺爽的

#12


你这个<?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">是有问题,我放在MyEclipse中报错,你把我的那个上面拷过去再试试看

#13


拷过去了,还是那个错误

#14


引用 12 楼 wozuiaijiahui 的回复:
你这个<?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">是有问题,我放在MyEclipse中报错,你把我的那个上面拷过去再试试看
拷过去了,还是那个错误

#15


额,但是我用运行JAR文件可以啊,不然你用Myeclipse插件直接运行那个XML文件试试

#16


将xml文件另存为ANSI格式竟可以了。

#17


不要用记事本换成UTF-8格式的  会有个BOM头  JAVA读取的时候就会报错了

#18


我也是报错  其实很简单 你把注释全部去掉就好了

#19


我认为17楼是正解,我也遇到这样的问题,我把该文件用notepad++打开,然后在菜单“格式”中选择“以UTF-8无BOM格式编码”,保存后就不会出错了。希望对大家有帮助。

#20


今天刚好遇到这个错误,不是你的配置文件写错了,是你配置文件保存的格式错误了,你应该是直接用记事本打开编辑的,解决办法就是去找一个普通的xml文件,然后用notepad++ 或editpus等编辑工具打开,再把你的代码贴回去,保存即可

将xml文件另存为ANSI格式竟可以了。
不要用记事本换成UTF-8格式的  会有个BOM头  JAVA读取的时候就会报错了
我把该文件用notepad++打开,然后在菜单“格式”中选择“以UTF-8无BOM格式编码”,

上面的几种方式我没去试,我是直接拿一个平时的xml用非记事本的编辑工具打开,把代码贴上去就可以了,在强调一次,就是你文件的格式有问题

#21


<!-- 注释里面必须加一个空格 --> 鉴定完毕

#22


把注释去掉 可以解决  谢谢了  (急急急100分)用过mybatis generator代码自动生成的朋友进来看看吧,感激不尽

#23


是字符集编码问题,你需要用记事本打开xml文件,把编码集改为ANSI

#24


我也遇到了这个问题,在网上找了半天解决办法,最后找到了。
其实很简单,就是XML文件保存格式问题,你应该和我一样是用记事本打开然后修改完了保存,然后就报错了吧。
解决办法就是还是记事本打开,修改完毕不要点保存,点另存为,
在保存窗口下边有文件名、保存类型、编码,把编码改为ANSI,然后点保存覆盖掉原文件就OK了,希望能帮到你。