首页 > 代码库 > com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx

一直用oracle,好久没有用mysql,今天搭建了一个mysql的web开发环境。竟然抛出这个异常:

Unknown character set: ‘utf8mb4‘

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: ‘utf8mb4‘
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472)
at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)
at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486)

记得创建数据的时候字符集设置的是utf-8:

   CREATE DATABASE service DEFAULT CHARACTER SET utf8;

网上查了各种解决办法:

最后是由于Mysql驱动版本引起的:

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.35</version>

</dependency>

换成

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.18</version>

</dependency>

结果不行,

换成下面的maven依赖问题解决,

<dependency>

<groupId>mysql</groupId>

<artifactId>mysql-connector-java</artifactId>

<version>5.1.6</version>

</dependency>

搞死人...

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorEx