当运行mybatis-generator自动生成dao文件时,产生报错,基本上时因为mysql的版本是8.0.x的,旧版本mysql不会有该问题。
解决思路:1.降低mysql的版本;2.添加时区说明,固定读取一个时区
我选择的时第二种思路:
首先,在pom.xml中检查mysql的版本:确认是8.0.16
打开generatorConfig.xml,确认引用的包是否和pom.xml中的一致:
检查下方配置是否含有对时区的声明:即serverTimezone=GMT%2B8,对应的时东八区的时间
<jdbcConnection driverClass="com.mysql.cj.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8" userId="root" password="sqlroot"> <property name="nullCatalogMeansCurrent" value="true"/>
需要注意,serverTimezone前方&需要加上amp;防止被转义
填加&serverTimezone=GMT%2B8后,插件可以正常运行