摘要:
学习了一部分Java的基础,终于来到了JDBC的面前,其实之前在做基于JSP和Oracle系统的时候也接触过,不过当时理解的不是很深刻,这次又见到JDBC,稍微深入了解一下。本篇文章是基于MySQL数据库的一个小测试,比较基础。
一、初步认识JDBC
JDBC(Java DataBase Connectivity,Java数据库连接),是一种执行Java程序的API。程序可以通过这个API连接到各种关系型数据库,并使用SQL完成对数据库的基本操作。
其在访问数据库时主要完成以下三个基本工作:
- 建立与数据库的连接;
- 执行SQL语句;
- 获取执行结果;
JDBC驱动(待补充)
JDBC API提供了一组用于与数据库进行通信的接口和类,这些接口都定义在java.sql包中,常用的有以下几种:
- DriverManager类,数据库驱动管理类,应用程序和数据库建立连接的桥梁;
- Connection接口,用于连接数据库,每个Connection对象代表一个数据库连接会话;
- Statement接口,一般用于执行SQL语句;
- ResultSet接口,用于封装结果集对象;
二、连接前的准备
在浅谈了一些基本的原理后,接下来进行一些数据库连接前的准备工作。根据前面说到的,要想让Java操作数据库就必须依赖JDBC驱动,需要怎么做呢?很简单,下载一个驱动类的jar包,然后将jar包通过Build Path配置好就可以了。
这里有几点是小编遇到的一些问题。
其一,这个jar包可以去官网找相应版本进行下载,也可以去这个网址:http://central.maven.org/maven2/mysql/mysql-connector-java/,小编觉得这里的下载更快一些;
其二,在下载时务必根据自己的数据库版本下载对应版本的驱动包,比如MySQL就可以调出命令行输入“mysql --version”查询数据库版本。(如下图,小编的数据库就是MySQL 8.0.15)
在配置好以后,我们需要事先建立好一个数据库,并简单的进行一下建表、插入数据等操作,不需要太多数据,有那么一两条就可以了。(下图是小编设置好的一个雏形)
三、连接数据库并测试插入数据
在进行完了上述的简单准备以后,接下来我们就可以键入Java代码进行连接测试了。小编敲的代码如下:
package testDB;
import java.sql.*;
public class TestMysql {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 加载数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
// 建立数据库连接,conn即为一个连接会话
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/javatest?"
+ "characterEncoding=GBK&serverTimezone=UTC", "root", "775885");
// 创建Statement对象
Statement state = conn.createStatement();
String s = "insert into student values('1004', '小东', '男')";
// 执行指定SQL语句
state.executeUpdate(s);
// 输出执行结果
System.out.println("插入成功");
}
}
有几点需要稍稍注意一下的:
(1)在MySQL 8.0及以后是Class.forName("com.mysql.cj.jdbc.Driver");这么个写法,而在之前则没有中间的那个cj;
(2)javatest是数据库的名字;
(3)serverTimezone=UTC是将数据库的时区设为标准时区,否则会有时区不正确的异常抛出;
最后,我们来看一下效果:
(程序运行结果)
(数据库的数据变化)
小结:
花了点时间简单玩下 Java+MySQL ,感觉整体操作还是比较简单的。至于后续如果想用 Java+Oracle 或者其他数据库,换一下驱动包而已,大同小异。
小编目前只是博客新人,在校生一名,如果读者对小编写的还比较满意,欢迎关注支持!
如果有什么问题,也可以加小编的QQ进行交流,不过记得备注自己的信息。(QQ:1329924827)