使用JDBC访问MySQL

本文详细介绍了如何使用JDBC访问MySQL数据库,包括加载驱动、创建连接、执行SQL语句、处理查询结果及关闭连接等步骤。讲解了Statement和PreparedStatement的区别,并强调了资源释放的重要性。

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

使用JDBC访问MySQL

建立连接

每个JDBC应用程序至少要有一个JDBC驱动程序版本,JDBC驱动程序是Driver接口类的实现

需要将数据库生产厂商提供的驱动jar包添加到classpath中。驱动jar包可以从官网上下载或者从maven之类的仓库中下载。

1、在java项目中新建文件夹Folder,名称为libs;
2、将下载的jar包拷贝到libs文件夹下;
3、将jar包添加到classpath上。

Driver类是驱动程序厂家实现的接口,Driver使DriverManager和JDBC应用程序层可以独立于具体的数据库系统。

java自身提供了对各类主流数据库系统的支持。

通过java.sql 库,提供了统一的接口,使得可以在java环境下不必对程序作大规模的修改,只要更改相应的驱动程序,即可实现对各类数据库的操作,提高软件的生存周期和降低软件的开发成本和维护费用。

编程获取数据库连接:
1、加载驱动程序;
2、通过驱动管理器获取和数据库的连接。

public class Sql {

	public static void main(String[] args) throws Exception {
		Class.forName("com.mysql.cj.jdbc.Driver");
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/scott?serverTimezone=UTC","root","123456");
		System.out.println(conn);
		}
}

localhost是数据库服务器的IP地址,3306是数据库服务器的端口号[3306\1521\1433],test是连接的数据库名,?是额外参数,这里的serverTimezone用于设置使用的时区配置。

1、加载JDBC驱动程序

在和某一特定数据库建立连接之前,必须首先加载一种可用的JDBC驱动程序。这需要使用java.sql包中的方法来加载JDBC驱动程序:Class.forName(“DriverName”);

DriverName是要加载的JDBC驱动程序名称

JDBC的Driver可分为以下4中类型:JDBC-ODBC Bridge和ODBC Driver、Native-API partly-Java Driver、JDBC-Net All-Java Driver、Native-protocol All-Java Driver

2、创建数据库连接

创建和指定数据库的连接需要使用DriverManager类的getConnection()方法
一般的使用格式:Connectionconn = DriverManager.getConnection (URL,username,password);该方法返回的是一个Connection对象。这里的URL是一个字符串,代表了将要连接的数据源,即具体的数据库位置。不同的JDBC驱动程序其URL是不同的。
Class.forName(“sun.jdbc.ordc.JdbcOdbcDriver”);
Connection Conn = DriverManager.getConnection("jdbc:odbc:yy”);
注意:数据库连接属于稀有资源,所以必须保证及时关闭。采用try/finally接口或者try(resource){}自动关闭。

3、执行SQL语句

在与某个特定数据库建立连接之后,连接会话就可以用于发送SQL语句。在发送SQL语句前,必须创建一个类的对象,该对象负责将SQL语句发送给数据库。
创建Statement对象:Statement smt =conn.create Statement();
PreparedStatement是Statement的子接口

执行修改操作 insert /update /delete

修改操作的返回值是一个int类型的值,表示所执行的sql语句操作了多少行数据。

Statement对象的executeQuery()方法来执行数据库查询语句,executeQuery()方法返回一个ResultSet类的对象,它包含了SQL查询语句执行的结果。

**注意:**获取数据时不建议通过列的索引号来获取对应列的数据。

4、接收并处理SQL的返回结果

(1)JDBC接收结果是通过ResultSet类的对象来实现的。
(2)一个ResultSet对象包含了执行某个SQL语句后满足条件的所有的行,它还提供了对这些行的访问,用户可以通过一组get方法来访问当前行的不同列。
(3)通常结果集的形式是一张带有表头和相应数值的表。

5、关闭创建的各个对象

(1)一个Statement对象在同一时间只能打开一个结果集,所以如果在同一个Statement对象中运行下一条SQL语句时,第一条SQL语句生成的ResultSet对象就被自动关闭了。
(2)也可以通过调用ResultSet接口的close()方法来手工关闭。
(3)关闭Statement对象和Connection对象可以分别使用各自的close()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值