如果使用idea连接mysql 出现时区错误的时候,通过以下操作可纠正该错误

IDEA使用java操作Mysql数据库错误提示time zone

一、使用场景

IDEA开发工具使用java操作数据库时候,运行代码提示rime zone错误。如下是错误提示:

 
  1. is unrecognized or represents more than one time zone.

  2. You must configure either the server or JDBC driver

  3. (via the serverTimezone configuration property) to use

  4. a more specifc time zone value if you want to utilize

  5. time zone support.

二、错误原因

1、使用了高版本的mysql驱动。mysql:mysql-connector-java:8.0.11

2、从错误上看应该是时区的错误,所以我们只需要设置完毕系统的时区。

三、解决方案

方案一、

在连接url中加入参数 serverTimezone=GMT%2B8,GMT%2B8代表东八区

 
  1. jdbc:mysql://localhost:3306/testuseUnicode=true&character

  2. Encoding=utf8&autoReconnect=true&serverTimezone=GMT%2B8

方案二、

设置整个数据库的时区。

在数据库中执行如下sql语句

 
  1. show variables like '%time_zone%'

  2. set global time_zone='+8:00';

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 新建MySQL数据库 首先需要在本地安装MySQL数据库,并在MySQL Workbench中新建一个数据库,例如名称为photo。 2. 导入数据库表 在新建的photo数据库中,将以下SQL语句用MySQL Workbench中的SQL编辑器执行,以创建一个名为photo的数据表: CREATE TABLE `photo` ( `id` int(11) NOT NULL, `name` varchar(100) NOT NULL, `url` varchar(200) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 3. 配置IntelliJ IDEA项目 在IntelliJ IDEA中创建一个新的Maven Web项目,添加MySQL驱动依赖项,在pom.xml文件中添加以下依赖项: <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.11</version> </dependency> 然后在项目的web.xml文件中添加以下Servlet配置: <servlet> <servlet-name>photoServlet</servlet-name> <servlet-class>com.example.servlet.PhotoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>photoServlet</servlet-name> <url-pattern>/photo</url-pattern> </servlet-mapping> 4. 连接MySQL数据库 在PhotoServlet类中添加以下代码来连接MySQL数据库: String url = "jdbc:mysql://localhost:3306/photo"; String username = "root"; String password = "123456"; Class.forName("com.mysql.cj.jdbc.Driver"); Connection conn = DriverManager.getConnection(url, username, password); 在上面的代码中,我们首先创建了一个MySQL连接字符串,并使用用户名和密码连接到数据库,然后使用Class.forName方法将MySQL的JDBC驱动程序加载到应用程序中。 5. 查询照片 在PhotoServlet类的doGet方法中,添加以下代码来查询photo表中的所有照片,并将结果发送给客户端: Statement statement = conn.createStatement(); ResultSet resultSet = statement.executeQuery("SELECT * FROM photo"); List<String> photoUrls = new ArrayList<>(); while (resultSet.next()) { String url = resultSet.getString("url"); photoUrls.add(url); } ObjectMapper mapper = new ObjectMapper(); String json = mapper.writeValueAsString(photoUrls); response.setContentType("application/json"); PrintWriter out = response.getWriter(); out.print(json); 在上面的代码中,我们首先使用Java的Statement对象执行SQL查询,并将结果存储在ResultSet对象中。然后我们遍历ResultSet对象,并提取每个照片的URL字段。最后,我们将所有照片URLs的JSON表示发送到客户端。 6. 测试Servlet 在浏览器中输入http://localhost:8080/photo,应该会看到所有照片的URLs的JSON表示。如果出现任何错误,请查看IntelliJ IDEA控制台以查找更具体的错误信息。 以上就是连接MySQL数据库和Servlet进行查询照片操作的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值