在使用SSM进行开发时,用到MyBatis Generator 工具生成类、映射接口、映射文件时,报以下错误:
java.sql.SQLException: java.lang.ClassCastException: java.math.BigInteger cannot
be cast to java.lang.Long
经过上网搜寻答案,具体原因是由于mysql的jar包版本太低,可在https://mvnrepository.com/下载一个较新的jar包对原jar包进行替换,即可解决这个错误。
你可能还会遇到以下问题:
(1)Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is
com.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
意思是新的驱动类的路径是“com.mysql.cj.jdbc.Driver”,最好换掉,不换也能生成成功,具体需要替换的位置是generator.xml文件中的如下位置:
(2)The server time zone value ‘?й???’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize
如果你的程序运行之后报了这个错误,意味着数据库的连接url写的有误,因为新版的Mysql中的时区默认设置与本地时区之间是不同的,因此会报错,加上时区即可。
connectionURL=“jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&characterEncoding=utf-8”