Java连接MySQL简单步骤及常见问题解析
这篇文章跟读者们介绍Java语言如何连接到MySQL数据库相关操作,及FAQ(Frequently Asked Questions)介绍。
选择工具和准备数据集
IDE:Eclipse
数据库:使用的是MySQL 8.0
驱动程序包:mysql-connector-java-8.0.12.jar
驱动程序类名:com.mysql.cj.jdbc.Driver
提前准备工作:笔者使用MySQL Workbench 工具来进行数据库CRUD各种操作,在数据库中建立了一个test数据库,接着在test数据库中建立teacher表格和往向表格中增加数据。

并且已经往表中插入了6项数据。

在Eclipse中建立一个数据库操作的Java project。并且在project里面引入(配置)驱动程序jar包

主要步骤
1.导入所需要的包

2.注册JDBC驱动

3.建立连接到数据库

4.执行 CRUD 操作

5.处理得到的结果

6.关闭资源,释放连接

提供源代码参考:
//STEP 1:导入包
//大多数情况下,使用import java.sql.*;就足够了。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement; public class DBConnettion { //不同版本的数据库驱动,名字会不相同同。
//数据库驱动 mysql-connector-java 6.0以上的版本, 驱动名是:"com.mysql.cj.jdbc.Driver"
//旧版本驱动名是:"com.mysql.jdbc.Driver"
private static final String JDBC_DEIVER = "com.mysql.cj.jdbc.Driver";
//笔者查看本机数据库进程,默认使用3306端口,大家根据自己数据库进程端口号来相应修改。
//比如我要访问MySQL的test数据库, 主机ip:端口号/数据库名称 数据库URL格式:---"jdbc:mysql://localhost:3306/test
private static final String DB_URL = "jdbc:mysql://localhost:3306/test?useSSL=false";//?useUnicode=true&characterEncoding=utf8&useSSL=false
private static final String USER = "****"; //"****"替换成自己的数据库用户名
private static final String PASS = "****"; //"****"替换成自己的数据库密码 public static void main(String[] args) {
Connection conn = null;
Statement stmt = null; try {
//STEP 2:注册 JDBC 驱动
Class.forName(JDBC_DEIVER); //STEP 3:建立连接到数据库
System.out.println("正在连接数据库......");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement(); //STEP 4:执行 CRUD 操作
System.out.println("正在查询数据:");
String sql = "select * from teacher;";
ResultSet rs = stmt.executeQuery(sql); //STEP 5:处理得到结果
System.out.println("Department ID Name");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
if (!rs.isLast())
System.out.println("\t " + id + " " + name);
else
System.out.println( " " + id + " " + name);
} //STEP 6:关闭资源,释放连接。
rs.close();
stmt.close();
conn.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("释放数据库连接......");
}
}
运行结果:

常见问题解析及解决方法
出现问题:
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.

解析:
从错误提示可知道是时区的错误,因此只要将数据库系统的时区设置为你当前系统时区即可。
解决方法:
因此使用root用户登录mysql,按照如下图所示操作即可。
查看数MySQL据库系统的时区设置
show variables like '%time_zone%';

笔者电脑系统时区设置为GMT+8:北京时间。而数据库系统时区默认为GMT+0(格林尼治时间),因此修改数据库系统时区跟我的系统时区相互一致。
set global time_zone = '+8:00';

对数据库系统时区变量做修改,不会立即发生改变。退出本次黑窗命令行(客户端)后
重新登录数据库,再次进行数据库系统时区查询,发现已经做出更改。
show variables like '%time_zone%';

出现问题:
Sat May 04 19:01:08 CST 2019 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.

解析:
从MySQL数据库 5.5.45+ 以后,对数据库的访问都要求建立SSL加密连接。我们只是做一个简单的数据库访问实例,因此访问数据库不进行SSL加密连接。
解决方法:
可以在数据库URL连接语句末尾加上"?useSSL=false"来取消数据库的警告。
或者可以给数据库服务器提供证书验证的信任库,进行SSL加密连接。

Java连接MySQL简单步骤及常见问题解析的更多相关文章
- 【JDBC】java连接MySQL数据库步骤
java连接数据库步骤 1. 加载驱动 Class.forName("com.mysql.java.Driver"); 或: registerDriver(new com.mysq ...
- java连接mysql数据库详细步骤解析
java连接mysql数据库详细步骤解析 第一步:下载一个JDBC驱动包,例如我用的是:mysql-connector-java-5.1.17-bin.jar 第二步:导入下载的J ...
- JAVA使用jdbc连接MYSQL简单示例
以下展示的为JAVA使用jdbc连接MYSQL简单示例: import java.sql.DriverManager; import java.sql.ResultSet; import java.s ...
- Java连接MySQL数据库及简单操作代码
1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...
- JDBC连接(MySql)数据库步骤,以及查询、插入、删除、更新等十一个处理数据库信息的功能
主要内容: JDBC连接数据库步骤. 一个简单详细的查询数据的例子. 封装连接数据库,释放数据库连接方法. 实现查询,插入,删除,更新等十一个处理数据库信息的功能.(包括事务处理,批量更新等) 把十 ...
- 【JDBC】Java 连接 MySQL 基本过程以及封装数据库工具类
一. 常用的JDBC API 1. DriverManager类 : 数据库管理类,用于管理一组JDBC驱动程序的基本服务.应用程序和数据库之间可以通过此类建立连接.常用的静态方法如下 static ...
- Java进阶(二十五)Java连接mysql数据库(底层实现)
Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...
- java连接mysql
Java 连接 MySQL 需要驱动包,最新版下载地址为:http://dev.mysql.com/downloads/connector/j/,解压后得到jar库文件,然后在对应的项目中导入该库文件 ...
- 转载:Java连接MySQL 数据库的正确操作流程
转载网址:http://www.bitscn.com/pdb/mysql/201005/186551.html 以下的文章主要介绍的是Java连接MySQL 数据库(以MySQL数据库为例 ...
随机推荐
- PHP将base64数据流转换成图片并保存
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法.可查看RFC2045-RFC2049,上面有MIME的详细规范. Ba ...
- MySQL8身份验证问题解决
开新项目.使用MySQL8,在经历过B级别的网速下载后,终于安装好了MySQL,虽然在终端上是可以直接登录的. 但是我使用Navicat就无法访问了,提示什么登录失败,还有乱码. 搜索了一下,发现是M ...
- java 远程方法调用(RMI)
什么是RMI? 维基百科:一种用于实现远程过程调用的应用程序编程接口.它使客户机上运行的程序可以调用远程服务器上的对象. 什么是序列化及反序列化 (1)序列化:把对象转换为字节序列的过程称为对象的序列 ...
- Spring Cloud之Zuul
API网关是一个更为智能的应用服务器,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤.它除了要实现请求路由.负载均衡.校验过滤等功能之外,还需要更多能力, ...
- LeetCode初级算法--字符串01:反转字符串
LeetCode初级算法--字符串01:反转字符串 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.ne ...
- Java虚拟机重点知识归纳总结
一. JVM内存分区 分为程序计数器.虚拟机栈.本地方法栈.Java堆.方法区5个区域 其中Java堆和方法区是线程共享的,虚拟机栈.本地方法栈.程序计数器是线程隔离的. 程序计数器: 1.可 ...
- [Mathematics][MIT 18.02]Detailed discussions about 2-D and 3-D integral and their connections
Since it is just a sort of discussion, I will just give the formula and condition without proving th ...
- Powershell基础之脚本执行
Bat 这就是我们常用的Bat脚本,全名为批处理文件,脚本中就是我们在CMD中使用到的命令,这里提一个小问题:CMD的命令行执行命令的优先级是.bat > .exe,那么假如我放一个cmd.ba ...
- Python3的编码整理总结
python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> ...
- 转 NAT技术详解
NAT产生背景 今天,无数快乐的互联网用户在尽情享受Internet带来的乐趣.他们浏览新闻,搜索资料,下载软件,广交新朋,分享信息,甚至于足不出户获取一切日用所需.企业利用互联网发布信息,传递资料和 ...