JDBC连接SQL数据库实例:从入门到精通 (jdbc连接sql数据库事例)

JDBC(Java Database Connectivity)是Java开发中常用的一种技术。它提供了一种标准的接口,使得Java程序可以方便地与各种数据库交互。本文将介绍JDBC连接SQL数据库的过程,从入门到精通。

1. JDBC介绍

JDBC是一种Java语言编写的应用程序接口,用于访问与处理数据库中的数据。它本质上是一个规范,要求Java程序必须能够在运行时连接数据源、执行SQL语句,并将结果返回给程序。JDBC规范定义了一套标准接口,使得Java程序可以与不同的数据库交互,而不需要考虑数据库厂商或操作系统的差异。

2. JDBC驱动

在Java程序中,要使用JDBC来与数据库交互,首先需要通过驱动程序连接数据库。JDBC驱动程序提供了一种将Java应用程序和数据库连接的方法。根据JDBC规范,Java应用程序需要通过驱动程序连接数据库,从而访问和处理数据。

JDBC驱动程序分为4种类型:

– 类型1:JDBC-ODBC桥接驱动,通过ODBC访问数据库(不推荐使用)。

– 类型2:纯Java的驱动,通过本地协议访问数据库。

– 类型3:中间件的驱动,通过中间件访问数据库。

– 类型4:本地的协议驱动,直接通过网络协议访问数据库。

对于Java程序而言,通常使用纯Java的驱动或本地的协议驱动,较少使用其他类型驱动。

3. JDBC连接

在Java程序中,连接数据库的步骤如下:

– 加载JDBC驱动程序

– 注册驱动类

– 创建连接对象

– 创建查询语句

– 执行查询语句

– 处理结果集

– 关闭连接

下面我们通过一个简单的例子来演示连接SQL Server数据库的过程。

首先我们需要添加SQL Server JDBC驱动程序到项目中。可以从maven中央仓库中找到最新版的SQL Server JDBC驱动程序,如下所示:

“`

com.microsoft.sqlserver

mssql-jdbc

9.4.0.jre11

“`

在代码中加载驱动程序:

“`

// 加载驱动程序

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

“`

接着注册驱动类:

“`

// 注册驱动

DriverManager.registerDriver(new com.microsoft.sqlserver.jdbc.SQLServerDriver());

“`

创建连接对象:

“`

// 创建连接对象

String url = “jdbc:sqlserver://localhost:1433;DatabaseName=TestDB”;

Connection conn = DriverManager.getConnection(url, “sa”, “123456”);

“`

在创建连接对象时,需要指定数据库的URL、用户名和密码。对于SQL Server数据库而言,URL的格式为“jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]”。

创建查询语句:

“`

// 创建查询语句

String sql = “SELECT * FROM T_User WHERE id=?”;

PreparedStatement ps = conn.prepareStatement(sql);

ps.setInt(1, id);

“`

执行查询语句:

“`

// 执行查询语句

ResultSet rs = ps.executeQuery();

“`

处理结果集:

“`

// 处理结果集

while (rs.next()) {

int id = rs.getInt(“id”);

String name = rs.getString(“name”);

String password = rs.getString(“password”);

System.out.printf(“id=%d, name=%s, password=%s%n”, id, name, password);

}

“`

最后关闭连接:

“`

// 关闭连接

rs.close();

ps.close();

conn.close();

“`

4. JDBC事务

在数据库操作中,如果需要在多个SQL语句之间保持一致性,需要使用事务。事务是对一组SQL语句的执行过程进行控制的机制,确保它们作为一个单独的、不可分割的工作单元执行。

在Java程序中,使用JDBC实现事务的过程如下:

– 创建连接对象

– 开始事务

– 执行SQL语句1

– 执行SQL语句2

– ……

– 执行SQL语句n

– 提交事务或回滚事务

– 关闭连接

下面我们通过一个简单的例子来演示JDBC事务的使用过程。

“`

// 创建连接对象

Connection conn = DriverManager.getConnection(url, “sa”, “123456”);

try {

// 开始事务

conn.setAutoCommit(false);

// 执行SQL语句1

String sql1 = “UPDATE T_User SET password=? WHERE id=?”;

PreparedStatement ps1 = conn.prepareStatement(sql1);

ps1.setString(1, newPassword);

ps1.setInt(2, id);

ps1.executeUpdate();

// 执行SQL语句2

String sql2 = “INSERT INTO T_Log VALUES(?,?)”;

PreparedStatement ps2 = conn.prepareStatement(sql2);

ps2.setInt(1, id);

ps2.setString(2, “Change Password”);

ps2.executeUpdate();

// 提交事务

conn.commit();

} catch (Exception e) {

// 回滚事务

conn.rollback();

} finally {

// 关闭连接

conn.close();

}

“`

在这个例子中,我们先创建连接对象,并在try块中开始事务。然后执行两个SQL语句,分别是修改密码和添加日志。如果有任何一个SQL语句执行失败,就执行回滚操作,否则提交事务。最后关闭连接。

5.

本文介绍了JDBC连接SQL数据库的过程,包括驱动、连接、SQL语句、结果集和事务等。JDBC是Java编程中非常重要的一种技术,掌握它可以帮助Java开发者更好地与各种数据库交互,提升程序的效率和可靠性。


数据运维技术 » JDBC连接SQL数据库实例:从入门到精通 (jdbc连接sql数据库事例)