如何通过匹配其中一列中的ID号从数据库中选择一行?

时间:2013-04-02 14:49:28

标签: java mysql sql

我将使用Java和MySQL数据库以Excel文件的形式生成报告。我需要做的是从UI中获取一个ID号,然后从包含该ID号的数据库中提取相应的行,并将其存储在某种数据结构中。然后我将遍历数据结构并将每个数据插入到Excel文件中的相应单元格中,并在此处进行一些计算。

那么,我将如何构建一个查询,该查询将从我的数据库中找到并返回一行和ID号以及保留返回数据的最佳数据结构是什么?

2 个答案:

答案 0 :(得分:1)

我认为你最好的选择是使用像Hibernate这样的东西。它抽象实际的SQL调用,并以“数据结构”为您返回查询结果。

或者你可以设置你的SQL驱动程序并自己运行查询,但我想你会在很多方面重新发明轮子。

作为起点,您的原始SQL查询看起来像:

select * from <yourTable> where <id column> = <your id>

答案 1 :(得分:1)

如果您要使用普通的jdbc方法,那么我建议您实施prepared statement以避免 SQL Injenctions (无论可能性如何)。

您仍然需要完成与MySql数据库建立连接所涉及的所有步骤:

1. Load MySql driver:       Class.forName("com.mysql.jdbc.Driver"); 
2. Connect to the database: Connection myConn = DriverManager.getConnection (... URL for your database ...);  

然后您可以创建语句,执行它并检索结果。

这些方面的东西:

PreparedStatement myStmt = myConn.PreparedStatement("SELECT * FROM YoutTable WHERE ID_Number = ?");
myStmt.setString(1, idStringFromUI);
ResultSet myResults = myStmt.executeQuery();

显然,您需要导入java.sql.*并处理所有已检查的例外情况。

这似乎是此类代码的一个很好的示例:link

如果您已经知道所有这些内容 - 请接受我的道歉,但是从您的问题来看,目前尚不清楚。