sqlでデータベースを作りそれをjavaを使ってhtml上で検索するというシステムを作っています。
映画のタイトルや公開年数などの情報が複数詰まったデーターベースを作成して、html上で検索しようとしているところのなのですがうまくいきません。
メールで次にどうしろと指示をいただいているのですが難しくよくわからないです。
Model.javaというファイル内でデータベースを検索した結果を取得したいのですが
そうするには検索した結果を取得する処理をArrayListに保持する形に書き換えればいいらしいのです。
ArrayListに保持する形というのがよく分かっていなく
すでにDataAcces.javaという以前作ったファイルで行われているというのですがDataAcces.javaのどの部分が
検索した結果を取得する処理をArrayListに保持する形
なのか分からないので教えていただけると幸いです。
package movie;
import java.sql.*;
import java.util.HashMap;
public class DataAccess
{
private Connection conn = null;
private PreparedStatement stmt = null;
private ResultSet resultSet = null;
private HashMap<Integer,TitleListResult>Title_hash;
private String sql = null; public HashMap<Integer,TitleListResult>result_search(String search){ Title_hash = new HashMap<>(); int i = 0; try { sql = "SELECT title_name,years_publication,performance_income,production_cost,public_evaluation,screening_time,genre_name,original_name,cast_name,directed_name " + "FROM movie inner join original_list on movie.original_number=original_list.original_number "+
"inner join genre_list on movie.genre_number=genre_list.genre_number "+
"inner join directed_list on movie.directed_number=directed_list.directed_number "+
"inner join cast_list on movie.cast_number=cast_list.cast_number where title_name like ? or directed_name like ?";
conn = ConnectUtilMy.connectDatabase();
stmt = conn.prepareStatement(sql);
stmt.setString(1,"%"+search+"%");
stmt.setString(2,"%"+search+"%");
System.out.println(search);
resultSet = stmt.executeQuery();
while (resultSet.next()) {
TitleListResult result = new TitleListResult();
result.Set_Title_name( resultSet.getString("title_name"));
result.Set_years_publication( resultSet.getString("years_publication"));
result.Set_performance_income( resultSet.getDouble("performance_income"));
result.Set_Production_cost( resultSet.getDouble("production_cost"));
result.Set_performance_income( resultSet.getDouble("performance_income"));
result.Set_Public_evaluation( resultSet.getDouble("public_evaluation"));
result.Set_Screening_time( resultSet.getString("screening_time"));
result.Set_Genre_name( resultSet.getString("genre_name"));
result.Set_directed_name( resultSet.getString("directed_name"));
result.Set_cast_name( resultSet.getString("cast_name"));
result.Set_original_name( resultSet.getString("original_name"));
Title_hash.put(i,result); i++; } } catch (SQLException ex) { System.out.println("エラーコード:" + ex.getErrorCode()); System.out.println("SQL状態:" + ex.getSQLState()); ex.printStackTrace(); } finally { try { if (resultSet != null) { resultSet.close(); } } catch (SQLException ex) { ex.printStackTrace(); } try { if (stmt != null) { stmt.close(); } } catch (SQLException ex) { ex.printStackTrace(); } try { if (conn != null) { conn.close(); } } catch (SQLException ex) { ex.printStackTrace(); } } return Title_hash; }
}
回答1件
あなたの回答
tips
プレビュー