6

我在 Eclipse 中使用 MyBatis 生成器。这是 generatorConfig.xml 文件。当我右键单击并选择“生成 MyBatis 工件”时,它会显示错误消息,例如“列名模式不能为 NULL 或为空”。

<?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="C:\Users\myplace\.m2\repository\mysql\mysql-connector-java\6.0.2\mysql-connector-java-6.0.2.jar" />
  <context id="context1">
  <plugin type="org.mybatis.generator.plugins.SerializablePlugin" />
        <plugin type="org.mybatis.generator.plugins.ToStringPlugin" />
  <jdbcConnection driverClass="com.mysql.jdbc.Driver"
            connectionURL="jdbc:mysql://localhost:3306/world?serverTimezone=EST"
            userId="root" password="root" />
    <javaModelGenerator targetPackage="com.example.ws.model" targetProject="com.example.ws" />
    <sqlMapGenerator targetPackage="com.example.ws.sql" targetProject="com.example.ws" />
   <javaClientGenerator targetPackage="com.example.ws.mapper" targetProject="com.example.ws" type="ANNOTATEDMAPPER" />
    <table schema="world" tableName="city">
      <columnOverride column="ID" property="id" javaType = "Integer" />
      <columnOverride column="Name" property="name" javaType = "String" />
      <columnOverride column="CuntryCode" property="cuntryCode" javaType = "String" />     
      <columnOverride column="District" property="district" javaType = "String" />
      <columnOverride column="Population" property="population" javaType = "BigDecimal" />
     </table>
  </context>
</generatorConfiguration>

你能帮我解决这个问题吗?谢谢!

4

2 回答 2

12

这是 MySQL 连接器从版本 5.x 到 6.x 的更改,如此所述。

为了让 MyBatis 与 6.x 一起工作,您可以附加nullNamePatternMatchesAll=true到您的 JDBC 字符串。您可能必须在 XML 中转义&to &amp;

于 2016-09-01T11:23:43.980 回答
5

我之前也遇到过同样的错误,可能是db驱动引起的。在我将 mysql-connector 从 6.0.3 更改为 5.1.38 后,它再也没有出现过。

您可以尝试更改 mysql-connector。

于 2016-07-13T04:05:37.627 回答