UserRepository.java
Springboot/bookstore-api/src/main/java/com/example/bookstore/repository/UserRepository.java
package com.example.bookstore.repository;
import com.example.bookstore.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
/**
* 使用者 Repository(資料存取層)。
* 繼承 JpaRepository 後即可免費獲得 save / findById / findAll 等方法,
* 下方再依需求宣告「衍生查詢」。
*/
public interface UserRepository extends JpaRepository<User, Long> {
/**
* 依帳號查詢使用者。
* 產生 SQL:SELECT * FROM users WHERE username = ?
*
* 回傳 Optional<User>:
* 明確表達「可能查不到」,呼叫端必須處理查無資料的情況
* (例如 orElseThrow),可避免 NullPointerException。
*/
Optional<User> findByUsername(String username);
/** 註冊時檢查帳號是否已被使用 */
boolean existsByUsername(String username);
/** 註冊時檢查 Email 是否已被使用 */
boolean existsByEmail(String email);
}
Articoli correlati
BookstoreApiApplication.java
BookstoreApiApplication.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/BookstoreApiApplication.java).
Leggi l'articolo →DataInitializer.java
DataInitializer.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/config/DataInitializer.java).
Leggi l'articolo →SecurityConfig.java
SecurityConfig.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/config/SecurityConfig.java).
Leggi l'articolo →AuthController.java
AuthController.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/controller/AuthController.java).
Leggi l'articolo →BookController.java
BookController.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/controller/BookController.java).
Leggi l'articolo →ApiErrorResponse.java
ApiErrorResponse.java — java source code from the Springboot learning materials (Springboot/bookstore-api/src/main/java/com/example/bookstore/dto/ApiErrorResponse.java).
Leggi l'articolo →