JDBC初探(基于MySQL)

摘要:

学习了一部分Java的基础,终于来到了JDBC的面前,其实之前在做基于JSP和Oracle系统的时候也接触过,不过当时理解的不是很深刻,这次又见到JDBC,稍微深入了解一下。本篇文章是基于MySQL数据库的一个小测试,比较基础。


一、初步认识JDBC

JDBC(Java DataBase Connectivity,Java数据库连接),是一种执行Java程序的API。程序可以通过这个API连接到各种关系型数据库,并使用SQL完成对数据库的基本操作。

其在访问数据库时主要完成以下三个基本工作:

  1. 建立与数据库的连接;
  2. 执行SQL语句;
  3. 获取执行结果;

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值