#05:ユーザ情報の取得処理の実装 - SELECT
このチャプターでは、ユーザ情報の取得処理についてデータベースとの連携をおこないます。
【LoginModel】package jp.paiza.model;
import jp.paiza.bean.AccountBean;
import java.sql.*;
public class LoginModel {
private Connection con;
public LoginModel(Connection con) {
this.con = con;
}
public boolean login(String userId, String password) {
String sql = "select * from accounts where user_id = ? and password = ?";
try (PreparedStatement query = con.prepareStatement(sql)) {
query.setString(1, userId);
query.setString(2, password);
ResultSet rs = query.executeQuery();
boolean b = rs.next();
System.out.println(b);
return b;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
public AccountBean find(String userId) throws SQLException {
String sql = "select * from accounts where user_id = ?";
try (PreparedStatement query = con.prepareStatement(sql)) {
query.setString(1, userId);
ResultSet rs = query.executeQuery();
if (rs.next()) {
AccountBean account = new AccountBean();
account.setId(rs.getInt("id"));
account.setUserId(rs.getString("user_id"));
account.setCreatedAt(rs.getTimestamp("created_at"));
account.setUpdatedAt(rs.getTimestamp("updated_at"));
return account;
}
}
throw new SQLException("userが存在しない");
}
}
新・Java入門編36: JDBCについて学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-36
新・SQL入門編2: SELECT文を理解しよう
https://paiza.jp/works/sql/new-primer/sql-new-primer-2
新・Java入門編27: 例外について学習しよう
https://paiza.jp/works/java/new-primer/java-new-primer-27
インタフェースDataSource
https://docs.oracle.com/javase/jp/17/docs/api/java.sql/javax/sql/DataSource.html
インタフェースPreparedStatement
https://docs.oracle.com/javase/jp/17/docs/api/java.sql/java/sql/PreparedStatement.html
インタフェースResultSet
https://docs.oracle.com/javase/jp/17/docs/api/java.sql/java/sql/ResultSet.html