java 连接MySQL数据库问题集锦

这篇博客总结了使用Java通过JDBC连接MySQL数据库时可能遇到的问题,包括如何导入官方jar包,构建正确的数据库连接URL,以及解决ClassNotFoundException和SQLException的具体步骤。作者提到了将驱动类添加到Tomcat的lib目录以及在URL中正确处理多个参数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入jar包

要通过JDBC连接MySQL数据库,需要下面导入jar包,构建开发环境

官方jar包下载地址:https://dev.mysql.com/downloads/connector/j/

构建数据库连接URL

格式:JDBC协议+IP地址或域名+端口+数据库名称,例如:jdbc:mysql://localhost:3306/practice

tip: 端口号一般为3306,如果需要查询端口号,可以通过sql语句查询:show variables like 'port';

获取Connection对象

String url = "jdbc:mysql://localhost:3306/practice";
String username = "root";
String password = "111";
Connection conn = DriverManager.getConnection(url,username,password);

tip: 此处用户名和密码为数据库的用户名和密码

ERROR:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

问题解决参考自:https://blog.youkuaiyun.com/huangbiao86/article/details/6428608

在jar包已经导入到web项目之后,遇到java.lang.ClassNotFoundException: com.mysql.jdbc.Driver错误

这里需要注意,上文提到的jar包也需要拷贝tomcat的lib目录下,根据参考文章:在web项目中,当Class.forName(“om.mysql.jdbc.Driver”);时IDEA不会去查找字符串,不会去查找驱动(原参考文章使用的是eclipse)。

java.sql.SQLException

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.

问题解决参考自:https://my.oschina.net/gef/blog/712383

解决办法:在url=jdbc:mysql://localhost:3306/practice后面加上url=jdbc:mysql://localhost:3306/practice?serverTimezone=UTC

但如果url类似下面:
url=jdbc:mysql://localhost:3306/practice?serverTimezone=UTC&characterEncoding=utf-8

就是有多个params的时候需要以&分开,如下:

url=jdbc:mysql://localhost:3306/practice?serverTimezone=UTC&characterEncoding=utf-8

上面问题为第一次连接数据库遇到的问题,目前已经解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值