天天看点

MyBatis所遇Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error一、报错提示:二、解决方法三、问题所在可能在哪

为了节省时间,我建个目录大家看看

目录

一、报错提示:

二、解决方法

三、问题所在可能在哪

一、报错提示:

报错的雷同处我标红,征兆相似的朋友可以继续看,不相似就可以划走了

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: 

### Error querying database.  Cause: java.sql.SQLException: 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 time zone support.

### The error may exist in UserMapper.xml

### The error may involve test.selectAll

### The error occurred while executing a query

### Cause: java.sql.SQLException: 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 time zone support.

    at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149)

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:135)

    at com.sanmu.MyBatisDemo.main(MyBatisDemo.java:30)

Caused by: java.sql.SQLException: 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 time zone support.

    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)

    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)

    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)

    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)

    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)

    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)

    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)

    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)

    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)

    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)

    at java.sql.DriverManager.getConnection(DriverManager.java:664)

    at java.sql.DriverManager.getConnection(DriverManager.java:208)

    at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:224)

    at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.doGetConnection(UnpooledDataSource.java:219)

    at org.apache.ibatis.datasource.unpooled.UnpooledDataSource.getConnection(UnpooledDataSource.java:95)

    at org.apache.ibatis.datasource.pooled.PooledDataSource.popConnection(PooledDataSource.java:432)

    at org.apache.ibatis.datasource.pooled.PooledDataSource.getConnection(PooledDataSource.java:89)

    at org.apache.ibatis.transaction.jdbc.JdbcTransaction.openConnection(JdbcTransaction.java:139)

    at org.apache.ibatis.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:61)

    at org.apache.ibatis.executor.BaseExecutor.getConnection(BaseExecutor.java:337)

    at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:86)

    at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:62)

    at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:325)

    at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)

    at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)

    at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:89)

    at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)

    ... 3 more

Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: 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 time zone support.

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)

    at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)

    at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)

    at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2139)

    at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2163)

    at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1301)

    at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:958)

    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:817)

    ... 23 more

二、解决方法

这个问题我查了很多资料,基本上没有解决,直到看到一个大佬的文章

大佬文章直通车

MyBatis所遇Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error一、报错提示:二、解决方法三、问题所在可能在哪

https://blog.csdn.net/qq_43546676/article/details/104610027

首先我看了我的驱动,MySql8.0,我的驱动没问题(MySql8.0:com.mysql.cj.jdbc.Driver       MySql8.0以下:com.mysql.jdbc.Driver )

MyBatis所遇Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error一、报错提示:二、解决方法三、问题所在可能在哪

然后就是连接方式,

jdbc:mysql://127.0.0.1:3306/mybatis?useSSL=false      

这个一般也没问题,我也不怎么清楚

解决:加上&serverTimezone=UTC即可,如&报错,则改为&amp;如图

MyBatis所遇Exception in thread “main“ org.apache.ibatis.exceptions.PersistenceException: ### Error一、报错提示:二、解决方法三、问题所在可能在哪

自此,我的问题解决了 

三、问题所在可能在哪

一、sql语句是否正确                                      点我(直通车)

二、名称空间是否写规范                                点我(直通车)

三、 xml文件存放地不被编译查询到                点我(直通车)

四、pox配置错误        点我(直通车)

五、检查jdbc驱动连接

还有其他解决方法的朋友可以留言评论区