java
1 2package dao; 3 4import java.sql.Connection; 5import java.sql.PreparedStatement; 6import java.sql.ResultSet; 7 8import model.User; 9import util.JDBCUtils; 10 11public class UserDAO { 12 13 public User getUser(String userName, String pass) { //User型 14 User user = null; //初期化 15 16 //データベースに接続 17 try (Connection conn = JDBCUtils.getConnection()) { 18 19 // USERテーブルからUSER_NAME,PASSを検索 20 String sql = "SELECT * FROM USER WHERE USER_NAME=? AND PASS=?"; 21 try (PreparedStatement pStmt = conn.prepareStatement(sql)) { 22 23 // 文中の「?」に使用する値を設定しSQLを完成 24 pStmt.setString(1, userName); //postで送られたuserNameがデータベース上にあるか検索 25 pStmt.setString(2, pass); 26 27 // SQLを実行してResultSetを受け取る 28 try (ResultSet rs = pStmt.executeQuery()) { 29 30 // ResultSetから結果を取得 31 if (rs.next()) { //値が一つしか存在しないのでif文 32 //nameにデータベース上の検索したUSER_NAMEを代入 33 String name = rs.getString("USER_NAME"); 34 String pa = rs.getString("PASS"); 35 System.out.println("<検索結果> ユーザー名:" + name + "パスワード:" + pa); 36 37 // TODO(ユーザー情報)の生成 38 User user = new User(name, pa); 39 40 // 取得した値を詰める 41 } 42 } 43 } 44 } catch (Exception e) { 45 throw new RuntimeException(e); 46 } 47 48 return user; //値を詰めたuserを返す(なかったら初期のnullが返る) 49 }
// TODO(ユーザー情報)の生成
userに取得した name,paを詰めたいのですがこの場合はどう書いたらよいのでしょうか??
User user = new User(name, pa);
user =
みたいな感じでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/12 04:38