ユーザーを登録した際に、メールアドレスが重複してないかチェックして
重複してたらエラーが出るようにする設定方法。
Serviceクラス
if (usersRepository.existsByMailadress(mailadress)) {//existsByIdでそのidが存在してるかチェックできる
throw new IllegalStateException("このアドレスは既に登録されています。頑張ってパスワードを思い出すか諦めてください。");
}
if(すでに同じのがあるかチェックする処理){同じのがあった場合の処理}
という感じで考えた。
usersRepository.existsByMailadress(mailadress) 同じユーザがいるか探す処理existsBy〇〇 は値が存在するかチェックするJapメソッド。
だから、データベース内に同じメールアドレスが存在してるかチェックできる。
throw new IllegalStateExceptionはエラーを出すExceptionクラスのメソッド
Repositoryクラス
public interface UsersRepository extends JpaRepository<Users, Integer> {
boolean existsByMailadress(String mailadress);
}
Repositoryクラスにboolean existsByMailadress(String mailadress); を追加する。boolean は真 (true) と偽 (false) の2つの値しか取ることができない型。
existsBy〇〇 の引数はboolean型じゃないといけないからここでString mailadressからboolean型にしてる。