我在eclipse中使用MyBatis Generator。这是generatorConfig.xml文件。当我右键单击并选择“生成MyBatis工件”时,它会显示错误消息,如“列名模式不能为空或空”。
<?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>
请你帮帮我吗? 谢谢!
答案 0 :(得分:12)
这是MySQL连接器从版本5.x更改为6.x,注释为here。
为了让MyBatis能够使用6.x,您可以将nullNamePatternMatchesAll=true
附加到JDBC字符串中。您可能必须将XML中的&
转义为&
。
答案 1 :(得分:5)
我之前遇到过同样的错误。它可能是由db驱动程序引起的。 将mysql-connector从6.0.3更改为5.1.38之后,它再也不会出现了。
您可以尝试更改mysql-connector。