当前位置: 首页 > 知识库问答 >
问题:

使用Mysql和IntelliJ IDEA Java项目连接数据库的问题

都浩淼
2023-03-14

我在Java使用intelliJ和MySQL构建了一个应用程序。我接受如下错误

“无法识别服务器时区值'×åéüñéí∞ ̄ñágtb'或表示多个时区。如果要利用时区支持,必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更指定的时区值。”

我尝试使用jdbc:mysql://localhost:3306/schooldb?uselegacyDateTimeCode=false&serverTimeZone=utc而不是jdbc:mysql:/localhost:3306/schooldb,但问题仍然存在。

我使用mysql-connector-java-8.0.15

我的密码是

public class Database {
    private MysqlDataSource dataSource;
    private Connection con;


    public Database(){
        dataSource = new MysqlDataSource();
        dataSource.setServerName("localhost");
        dataSource.setDatabaseName("schooldb");

        try{
            con = dataSource.getConnection("tei", "cangetin");
        }catch(SQLException e){
            e.printStackTrace();
        }
    }

    protected void finalize() throws Throwable{
        super.finalize();
        con.close();
    }
}

而且

Database db = new Database();

有谁能帮帮我吗

共有1个答案

伊飞光
2023-03-14

您可以使用mysqldatasource.setservertimezone如下面的代码所示。我使用mysql-connector-:8.0.18通过将系统区域设置(在Windows上)设置为不同于英语的地方(并重新启动MySQL),重现了该异常,并且该编辑解决了连接问题。

public Database() throws SQLException {
  dataSource = new MysqlDataSource();
  dataSource.setServerName("localhost");
  dataSource.setDatabaseName("schooldb");
  dataSource.setServerTimezone("UTC");
  try {
    con = dataSource.getConnection("username","pass");
    CallableStatement call = con.prepareCall("show databases;");

    ResultSet res = call.executeQuery();
    while(res.next()) {
      System.out.println(res.getString(1));
    }
  } catch (SQLException e) {
    e.printStackTrace();
  }
}

奇怪的时区来自MySQL服务器配置。如果执行SQL:

SHOW VARIABLES LIKE '%zone%';

那么您会发现变量system_time_zone的值很奇怪。最终,您可以改为编辑my.ini文件中的设置:

[mysqld]
...
default-time-zone='+00:00'
 类似资料:
  • 我正在尝试将我的Spring Boot项目连接到mysql数据库,但我一直遇到错误,但似乎无法解决它是什么。 我的build.gradle长这样 我的终端中的错误表示在上下文初始化期间遇到异常-取消刷新尝试:org。springframework。豆。工厂BeanCreationException:创建名为“entityManagerFactory”的bean时出错,该bean在类路径资源[org

  • 问题 当我启动超过11个Spring Boot项目并行时,我无法从数据库中检索数据。我只得到空白的JSON响应。但是如果我只启动了不到11个项目,那么在那个时候,我就能够得到微服务的结果。当我从12号发球开始的时候有问题。 但这并没有解决我的问题。并且在我的中为连接池添加了其他行, 即使这样也不能解决我的问题。仍然,我只能启动最多12个Spring引导项目一次。 在pom.xml中添加了以下内容,

  • 所以我正在尝试使用突出显示的连接进行连接。我使用密码'abcdefghijkl'登录到SQL环境。我正在尝试连接到名为“flight_school”的数据库 我的python脚本看起来就是这样。` 导入mysql.connector mydb=mysql.connector.connect(“localhost”,“root”,“abcdefghijkl”,“flight_school”“)打印(

  • 请知道,我对数据库很陌生。我能够正确安装mySQL和java连接器驱动程序。但每当我在eclipse中运行程序并尝试从我创建的数据库中检索信息时,我都会收到以下消息:“需要SSL连接,但服务器不支持”。下面是我要使用安全SSL连接运行的代码: `公共静态void main(字符串[]参数){

  • 问题内容: 我正在尝试从我的网站连接数据库,并使用C ++显示一些行。因此,基本上我正在尝试制作一个从站点数据库中的表中进行选择查询的应用程序。现在,这必须可行,因为我已经看到大量的应用程序正在这样做。 我该怎么做呢?有人可以举一个例子,告诉我应该使用哪些库吗? 问题答案: 在这里找到:

  • 我正在尝试连接我的android应用程序,该应用程序使用php将登录页面连接到数据库。它正在连接到数据库。但它并不是从表中检索所有列。相反,只获取两个冒号。下面是代码 请帮我解决这个问题。 这里是登录表单的PHP代码 我的logcat显示以下错误。 但它显示点击提交按钮后停止工作,我需要检索数据显示在Android模拟器上 包com。实例主要的导入java。木卫一。缓冲读取器;导入java。木卫一