Javaでデータベースからデータを取得する方法は何ですか?
Javaでデータベースからデータを取得するにはJDBC(Java Database Connectivity)テクノロジーを使用することができます。以下に、簡単なサンプルコードを示します。
import java.sql.*;
public class DatabaseApp {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 连接数据库
conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/mydatabase”,
“username”, “password”);
// 创建Statement对象
stmt = conn.createStatement();
// 执行查询语句
String sql = “SELECT * FROM mytable”;
rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
int id = rs.getInt(“id”);
String name = rs.getString(“name”);
int age = rs.getInt(“age”);
System.out.println(“ID: ” + id + “, Name: ” + name + “, Age: ” + age);
}
} 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();
}
}
}
}
上記のコードは、まず`DriverManager.getConnection`メソッドを使ってデータベースに接続し、次に`Statement`オブジェクトを作成してSQL文を実行します。クエリを実行するには`executeQuery`メソッドを使用し、`ResultSet`オブジェクトを通じてクエリ結果を取得します。最後に`while`ループ内で各行のデータを抽出して処理します。データベース接続、Statementオブジェクト、ResultSetオブジェクトを使用した後は、それぞれ`close`メソッドを呼び出してリソースを解放し、メモリリークを防止する必要があります。