mysql getconnection_使用mysql8的二个坑

1.调试的时候报错

错误提示如下:

Stacktrace:] with root cause

com.mysql.cj.core.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.

在连接的url后加一个参数

serverTimezone=GMT (加了这个参数之后就能顺利链接数据库了),这里的时区可以根据自己数据库的设定来设置。

2java连接mysql 报错

java.sql.SQLException: Unknown system variable 'query_cache_size'at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:545)at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1983)at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1936)at com.mysql.cj.jdbc.StatementImpl.executeQuery(StatementImpl.java:1422)at com.mysql.cj.jdbc.ConnectionImpl.loadServerVariables(ConnectionImpl.java:2831)at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:2381)at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:1739)at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1596)at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:633)at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:347)at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:219)at java.sql.DriverManager.getConnection(DriverManager.java:664)at java.sql.DriverManager.getConnection(DriverManager.java:270)

原因是mysql-connector-java的版本还是6.0.6,需要升级版本到8.0.11 ,这个报错就不存在了

mysqlmysql-connector-java8.0.11

#8.0驱动使用

spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 JDBC(Java Database Connectivity)来连接数据库并插入数据到 MySQL 数据库。以下是一个简单的示例代码: ```java import java.sql.*; public class InsertDataExample { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/your_database_name"; static final String USER = "your_username"; static final String PASS = "your_password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try { // 注册 JDBC 驱动 Class.forName(JDBC_DRIVER); // 打开连接 System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); // 执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); String sql = "INSERT INTO your_table_name " + "VALUES (value1, value2, value3)"; stmt.executeUpdate(sql); // 完成后关闭 stmt.close(); conn.close(); } catch (SQLException se) { // 处理 JDBC 错误 se.printStackTrace(); } catch (Exception e) { // 处理 Class.forName 错误 e.printStackTrace(); } finally { // 关闭资源 try { if (stmt != null) stmt.close(); } catch (SQLException se2) { } // 什么都不做 try { if (conn != null) conn.close(); } catch (SQLException se) { se.printStackTrace(); } } System.out.println("Goodbye!"); } } ``` 在上面的示例中,你需要将 `your_database_name` 替换为你的数据库名称,`your_username` 和 `your_password` 替换为你的 MySQL 用户名和密码,`your_table_name` 替换为你要插入数据的表名称,以及 `value1`、`value2` 和 `value3` 替换为你要插入的实际值。 注意,上述代码只是一个示例,实际使用时需要根据你的实际需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值