java - 结果集的数据结构

标签 java database

在 java 中使用数据库需要编写一组代码行。如果数据库连接再次-n-再次建立,则需要再次-n-再次重复相同的行集,这会给程序员带来开销。

因此,我正在制作一个用作数据库代理的实用程序类。此类的方法将负责所有与数据库相关的事情,从建立连接到执行查询并返回结果。

我的课是这样的-

package connect;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Connector
{
private ResultSet rs;
public String password;

public void connect(String dbUrl, String dbClass, String dbUserName, String dbPassword, String query)
{
    try
    {
        Class.forName(this.dbClass).newInstance();
        Connection conn = DriverManager.getConnection (dbUrl, dbUserName, dbPassword);
        Statement stmt = conn.createStatement();
        rs = stmt.executeQuery(query);

        while(rs.next())
        {
            this.password = (String) rs.getObject(1);
        }

        conn.close();
    } //end try
    catch(Exception e)
    {
        e.printStackTrace();
    }
}
}

当程序员需要执行查询时,可以为此编写以下行 -

Connector con = new Connector();
con.connect("your database URL",
            "your database driver",
            "your database username",
            "your database password",
            "your query");

我的问题是,现在我正在使用连接方法本身从 ResultSet 中检索数据。检索到的数据可能因查询而异,因此我想要一个数据结构,我可以在 connect() 方法中存储来自 rs 的数据并返回它。

它看起来像 -

<data structure> result = con.connect("your database URL",
                                      "your database driver",
                                      "your database username",
                                      "your database password",
                                      "your query");

有人可以为此建议我一个数据结构吗?

最佳答案

不确定您为什么要重新发明这个特定的轮子,而且如果您为每个查询重复连接,您基本上会失去任何性能,但为什么不直接使用 RowSetDynaClass如果您不打算映射到对象?

请注意,有大量已经过测试和验证的现有解决方案。并使用连接池;创建连接是昂贵的。

关于java - 结果集的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9227046/

相关文章:

java - 如何使用 "findBy"方法?

javascript - Ajax 数据管理

c# - 变量未声明或从未分配?和数据读取器不工作?

java - 根据变量值执行不同的类

java - 用于 Java 的 BDD(类 RSpec)测试库

java - 关闭连接后没有操作,绕过我对关闭连接的检查?

Java Socket 快速重连

python - 基于投票的用户之间的相似性

database - CodeIgniter 中的 Doctrine ORM - 优点和缺点?

database - 在 Access 中使用 DLookUp 函数时出现问题