LoginSignup
5
4

More than 5 years have passed since last update.

@Queryと@Paramの意味と使い方

Posted at

問題

@Query@Paramってなに?

意味

@query

データベースに送るクエリ文の指定

@param

クエリ文の中のクライアント側のデータを指定

例文

example.java
public interface UserRepository extends JpaRepository<User, String>{
    @Query("SELECT u From User u WHERE u.username=username")
    User findByUsername(@Param("username") String username);
}

こんな感じ

@Queryのカッコ内の"SERECT u~"でfindByUsernameで実行されるクエリ文を指定している。
@Paramのカッコ内の"username"で@Queryのカッコ内の"username"=クライアント側のデータをしている。

実行

上記サンプルのfindByUsernameが呼び出されると@Paramがクライアント側の"username"を取得し、クエリ文"SELECT u From User u WHERE u.username=username"をデータベースに送る。クエリ文末尾のusernameに@Paramで取得した"username"が入っている。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4