Eclipse使用JDBC连接MySQL数据库详细教程

简介: Eclipse使用JDBC连接MySQL数据库详细教程

Eclipse使用JDBC连接MySQL数据库详细教程

前言:遇到问题不要退缩,因每解决一个问题你就离目标更近一步

下载连接MySQL数据库的驱动

使用JDBC连接MySQL数据库的驱动为Connentor/J,需要下载什么版本可以参考下图。

20160906180301061.png

下载完成之后需要解压到本地。

在Eclipse中引用jar包

在新建的Java工程上点击右键,Build Path —>Add External Archives.. 添加解压缩到本地的jar包。

20160906181557863.png

JDBC连接数据库步骤

1.载入驱动

2.连接数据库

连接数据库的注意事项

我们解压到本地的文件里面有官方关于使用JDBC连接数据库的文档,这里我们可以看一下官方的文档。下面是官方文档中的代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
// Notice, do not import com.mysql.cj.jdbc.*
// or you will have problems!
public class LoadDriver {
public static void main(String[] args) {
try {
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
} catch (Exception ex) {
// handle the error
        }
    }
}

这里的Class.forName("com.mysql.cj.jdbc.Driver").newInstance();

是用于注册驱动,也就是JDBC连接数据库步骤 中的第一步。我们在Eclipse中运行正常,没有什么问题。下面是第二步连接数据库,我们这里也用官方文档中提供给我们的代码。代码如下

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
Connection conn = null;
...
try {
conn =
DriverManager.getConnection("jdbc:mysql://localhost/test?" +
"user=minty&password=greatsqldb");
// Do something with the Connection
...
} catch (SQLException ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}

现在我们来看一下这段代码,其中也就一句

DriverManager.getConnection("jdbc:mysql://localhost/test?" +
"user=minty&password=greatsqldb");

这段代码是用于连接到数据库的,上面的test是我们自己的数据库,user=minty 是我们安装数据库使用的用户名,password=greatsqldb 是我们自己的数据库密码,现在我们把第一步与第二步一起在Eclipse中运行一下,代码如下

/**
 * URL是用于连接数据库的标识符
 * USER_NAME 是安装MySQL时使用的用户名
 * PASSWORD 是与用户名相对应的密码
 */
public class Jdbc {
    //mydb是我自己建的数据库
    //user=root 我自己数据库的用户名
    //password=wizardfu 我自己的数据库的密码
    public static final String URL = "jdbc:mysql://localhost/mydb?" +
            "user=root&password=wizardfu";
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            DriverManager.getConnection(URL);
            System.out.println("成功加载MYSQL驱动");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

这里我们看一下运行结果

20160906184340109.png

发现有警告,查了一下资料说是时区的问题,只要把上面的URl修改一下就好了,看一下修改后的URL

public static final String URL = "jdbc:mysql://localhost/mydb?serverTimezone=UTC"+"user=root&password=wizardfu";

我们再在Eclipse中运行一下,又发现出现了下面的警告

20160906185655721.png

这里我把没有显示出来的警告粘贴出来,如下

Tue Sep 06 18:53:24 CST 2016 WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

我们在上面的警告中发现一段话

You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification

这里说需要设置 useSSL=false or set useSSL=true

我们再次改变URL的代码,改变后的代码如下

public static final String URL = "jdbc:mysql://localhost/mydb?serverTimezone=UTC&useSSL=false&user=root&password=wizardfu";

再次运行一下,结果如下

20160906190540467.png

好了,到此已经通过JDBC成功连接到MySQL数据库。连接的时候确实遇到不少麻烦,写下这篇文章希望大家少踩坑。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
SQL Java 数据库连接
除了JDBC,还有哪些常见的数据库访问技术?
除了JDBC,还有哪些常见的数据库访问技术?
719 2
|
SQL Java 关系型数据库
使用 JDBC 实现 Java 数据库操作
JDBC(Java Database Connectivity)是 Java 提供的数据库访问技术,允许通过 SQL 语句与数据库交互。本文详细介绍了 JDBC 的使用方法,包括环境准备、编程步骤和完整示例。
1306 7
|
SQL Java 数据库连接
【YashanDB数据库】由于网络带宽不足导致的jdbc向yashandb插入数据慢
由于网络带宽不足导致的jdbc向yashandb插入数据慢
|
SQL Java 数据库连接
JDBC编程安装———通过代码操控数据库
本文,教你从0开始学习JBCD,包括驱动包的下载安装调试设置,以及java是如何通过JBDC实现对数据库的操作,以及代码的分析,超级详细
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
3188 1
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
1269 1
|
SQL druid Java
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
JDBC和数据库连接池-两个工具类-JDBCUtilsByDruid和BasicDAO
678 0
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
476 0
|
10月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
588 158
|
10月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。