在使用Mybatis逆向工程连接MySql数据库生成代码的时候遇到了这个问题,现象就是某个类中出来了数据库连接地址中指定数据库表里面没有的字段
解决办法是在Mybatis逆向工程的配置文件里的数据库连接地址中添加下列参数:
nullCatalogMeansCurrent=true
添加完后的样子:
<!-- 数据库链接驱动、地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/testdemo" userId="root" password="root"> <!-- connectionURL属性,防止乱码 --> <property name="useUnicode" value="true"/> <!-- connectionURL属性,防止乱码 --> <property name="characterEncoding" value="utf-8"/> <!-- connectionURL属性,防止报时间错误 --> <property name="serverTimezone" value="UTC"/> <!-- connectionURL属性,防止生成不同数据库同名表的代码 --> <property name="nullCatalogMeansCurrent" value="true"/> </jdbcConnection>
或者是这样:
<!-- 数据库链接驱动、地址、用户名、密码 --> <jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/testdemo?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&nullCatalogMeansCurrent=true" userId="root" password="root"> </jdbcConnection>