项目方案:Java SQL Server 查询后返回 List 结果的封装方案
1. 项目概述
本项目旨在实现一个 Java SQL Server 查询后返回 List 结果的封装方案,以便在 Java 开发中更方便地处理 SQL 查询结果,并将其封装为列表形式进行后续操作。
2. 项目背景
在 Java 开发中,经常需要与数据库进行交互,并执行各种 SQL 查询操作。SQL Server 是一种常用的关系型数据库,因此在 Java 开发中需要对 SQL Server 查询结果进行封装,以便更方便地进行后续处理。
3. 方案设计
3.1 技术选型
- Java:作为项目的开发语言。
- SQL Server:作为项目的数据库。
- JDBC:用于连接数据库和执行 SQL 查询操作。
- List:用于封装 SQL 查询结果。
3.2 方案流程
下面是整个方案的流程图:
erDiagram
Database --> Java Application : 数据库连接
Java Application --> Database : SQL 查询操作
Java Application --> List : 结果封装
3.3 类图设计
下面是本方案的类图设计:
classDiagram
class Database {
+getConnection() : Connection
+executeQuery(sql: String) : ResultSet
}
class JavaApplication {
+main(args: String[]) : void
+getResults(sql: String) : List<Result>
}
class Result {
-id : int
-name : String
+getId() : int
+getName() : String
}
Database
类负责数据库的连接和执行 SQL 查询操作。JavaApplication
类是项目的入口类,负责调用Database
类进行查询操作,并将结果封装为List
。Result
类是封装查询结果的实体类,包含了查询结果的字段。
3.4 代码实现
3.4.1 数据库连接和查询操作
首先,我们需要创建一个 Database
类,用于连接数据库和执行 SQL 查询操作。代码如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Database {
private static final String URL = "jdbc:sqlserver://localhost:1433;databaseName=mydb";
private static final String USERNAME = "username";
private static final String PASSWORD = "password";
public Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
public ResultSet executeQuery(String sql) throws SQLException {
Connection connection = null;
ResultSet resultSet = null;
try {
connection = getConnection();
resultSet = connection.createStatement().executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (resultSet != null) {
resultSet.close();
}
if (connection != null) {
connection.close();
}
}
return resultSet;
}
}
在上面的代码中,我们使用 JDBC 连接数据库,并提供了 getConnection
方法用于获取数据库连接,executeQuery
方法用于执行 SQL 查询操作,并返回查询结果。
3.4.2 结果封装
接下来,我们需要创建一个 Result
类,用于封装查询结果的实体类。代码如下:
public class Result {
private int id;
private String name;
public Result(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
在上面的代码中,我们定义了一个 Result
类,包含了查询结果的字段,并提供了相应的 getter 方法。
3.4.3 查询结果封装为 List
最后,我们需要创建一个 JavaApplication
类,用于调用 Database
类进行查询操作,并将结果封装为 List
。代码如下:
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class JavaApplication {
public static void main(String[] args) {
String sql = "SELECT * FROM my_table";
List<Result> results = getResults(sql);
for (Result result : results) {
System.out.println(result.getId() + ": " + result.getName());
}
}
public static List<Result> getResults(String sql) {
List<Result> results = new ArrayList<>();
try {
Database database = new Database();
ResultSet resultSet = database.executeQuery(sql);
while (resultSet.next()) {
int