使用JDBC连接SQLServer数据库

1. 前言

Java Database Connectivity(JDBC)是一种用于编程语言Java中连接各种关系型数据库的标准API。在Java中使用JDBC连接数据库可以轻松地进行数据交互,而不必担心与特定数据库交互细节的问题。在本文中,我们将介绍如何使用JDBC连接SQLServer数据库。

2. 准备工作

2.1 下载SQL Server JDBC驱动程序

在使用JDBC连接SQL Server数据库之前,需要下载SQL Server JDBC驱动程序,可以从Microsoft官方网站下载,并将其添加到项目中。

下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=11774

将下载好的驱动包文件复制到项目目录下,并在IDE中右键单击项目名 -> Build Path -> Configure Build Path -> Libraries -> Add External JARs,选择之前复制的驱动包文件。

2.2 创建SQLServer数据库

在本示例中,我们将使用默认的SQLServer数据库实例,如果尚未创建数据库,则可以按照以下步骤创建数据库:

打开SQL Server Management Studio,右击“数据库”,选择“新建数据库”

在“新建数据库”对话框中,输入数据库名称和其他相关信息,单击“确定”按钮。

3. 创建JDBC连接

在Java中使用JDBC连接数据库,需要使用com.microsoft.sqlserver.jdbc.SQLServerDriver驱动程序类,我们需要导入该类并使用如下代码创建数据库连接:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class SQLServerJDBC {

public static void main(String[] args) {

// 数据库连接信息

String url = "jdbc:sqlserver://localhost:1433;databaseName=test";

String user = "sa";

String password = "123456";

Connection conn = null;

try {

// 加载驱动程序类

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// 建立数据库连接

conn = DriverManager.getConnection(url, user, password);

if (conn != null) {

System.out.println("数据库连接成功");

} else {

System.out.println("数据库连接失败");

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

其中,url参数表示数据库连接字符串,格式为jdbc:sqlserver://<服务器名称>:<端口号>;databaseName=<数据库名称>;<可选属性>。在本示例中,我们使用了SQL Server的默认实例,因此服务器名称为localhost,端口号为1433,数据库名称为test。

4. 查询数据库

连接到SQL Server数据库后,可以执行各种查询操作。在本节中,我们将介绍如何执行SELECT查询并将结果打印到控制台。

4.1 SELECT查询

以下示例演示如何使用JDBC执行SELECT查询,并将结果打印到控制台:

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class SQLServerJDBC {

public static void main(String[] args) {

// 数据库连接信息

String url = "jdbc:sqlserver://localhost:1433;databaseName=test";

String user = "sa";

String password = "123456";

Connection conn = null;

Statement stmt = null;

ResultSet rs = null;

try {

// 加载驱动程序类

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

// 建立数据库连接

conn = DriverManager.getConnection(url, user, password);

// 创建Statement对象并执行SELECT查询

stmt = conn.createStatement();

rs = stmt.executeQuery("SELECT * FROM Employee");

// 循环遍历ResultSet对象并打印结果

while (rs.next()) {

System.out.println("ID: " + rs.getInt("ID"));

System.out.println("Name: " + rs.getString("Name"));

System.out.println("Age: " + rs.getInt("Age"));

System.out.println("--------------------");

}

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} finally {

try {

if (rs != null) {

rs.close();

}

if (stmt != null) {

stmt.close();

}

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

上面代码中,我们使用了一个SELECT查询来检索Employee表中的信息,并使用ResultSet对象循环遍历结果,并打印每行数据到控制台。

4.2 INSERT、UPDATE和DELETE操作

除了SELECT查询外,JDBC还支持INSERT、UPDATE和DELETE等操作,以下是相应SQL语句的示例:

-- INSERT

INSERT INTO Employee (ID, Name, Age) VALUES (1, 'Tom', 23)

-- UPDATE

UPDATE Employee SET Age = 24 WHERE Name = 'Tom'

-- DELETE

DELETE FROM Employee WHERE ID = 1

要执行非SELECT操作,可以使用以下代码:

stmt = conn.createStatement();

int resultCount = stmt.executeUpdate("INSERT INTO Employee (ID, Name, Age) VALUES (1, 'Tom', 23)");

if (resultCount > 0) {

System.out.println("插入成功");

} else {

System.out.println("插入失败");

}

在执行非SELECT操作时,executeUpdate()方法返回一个整数,该整数表示影响的行数。

5. 结论

本文介绍了如何使用JDBC连接SQLServer数据库,并执行各种类型的查询操作。JDBC提供了一种简单的方式来连接数据库,可以轻松地进行数据交互,可以使我们编写更加高效的Java程序和Web应用。

数据库标签