javaでデータベースの値の一覧表示のやり方について質問させてください。
現在TestDAOのsearchメソッドで値の取得をして、searchResult.jspにて表示をさせるプログラムを書いています。
TestDAOのsearchメソッドでのデータベースの検索
→likeを使って空欄検索をして全件取得する
→searchResult.jspにて表示させたい。
TestDAO.java
1 public List<Test> search(String name) throws NamingException, SQLException { 2 3 4 List<Test> list = new ArrayList<>(); 5 6 Connection con = null; 7 PreparedStatement st = null; 8 9 try { 10 11 // データベースに接続 12 con = getConnection(); 13 14 // SQL文を準備・実行 15 st = con.repareStatement("select * from Test where name like ?"); 16 st.setString(1, "%"+name+"%"); 17 ResultSet rs = st.executeQuery(); 18 19 // リターン用にインスタンスを準備 20 Test g = new Test(); 21 22 while (rs.next()) { 23 g.setId(rs.getInt("id")); 24 g.setName(rs.getString("name")); 25 g.setAddress(rs.getString("address")); 26 list.add(g); 27 28 29 30 } 31 32 } finally { 33 if (st != null) { 34 st.close(); 35 } 36 if (con != null) { 37 con.close(); 38 } 39 40 return list; 41 } 42
TestDAOを使ってこちらのコードsearchReslut.jspで値を表示させると
一覧結果ではなく、データベース上の最後に入っていた人のリストが
人数分並んでしまうのですが、一覧表示させたい場合は
TestDAOのsearchメソッドの中身はどのように書いたらよいでしょうか?
詳しい方いらっしゃいましたらご回答よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー