/**
* 描述:自定义查询,当Spring Data JPA无法提供时,需要自定义接口,此时可以使用这种方式
*/
public interface UserDefineBySelf extends JpaRepository<User, Integer> {
/**
* 命名参数
* 描述:推荐使用这种方法,可以不用管参数的位置
*/
@Query("select u from User u where u.name = :name")
User findUserByName(@Param("name") String name);
/**
* 索引参数
* 描述:使用?占位符
*/
@Query("select u from User u where u.email = ?1")// 1表示第一个参数
User findUserByEmail(String email);
/**
* 描述:可以通过@Modifying和@Query来实现更新
* 注意:Modifying queries的返回值只能为void或者是int/Integer
*/
@Modifying
@Query("update User u set u.name = :name where u.id = :id")
int updateUserById(@Param("name") String name, @Param("id") int id);
}