在使用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 iscom.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”
本文针对使用SSM框架开发过程中遇到的MyBatisGenerator生成类、映射接口及文件时出现的错误进行了详细解析,并提供了具体的解决方案,包括更新mysql的jar包版本、替换旧版驱动类及正确配置时区。

被折叠的 条评论
为什么被折叠?



