создание остальных API, и мне нужны ручные запросы, такие как выбор * из таблицы, где условие = ложь. где я должен написать это условие - PullRequest
1 голос
/ 03 марта 2020

@ Query (значение = "выберите * из ученика, где active = true", nativeQuery = true) Итерируемый findactivestudents (String firstName);

Я должен иметь возможность использовать этот запрос для @getmapping с использованием API

Ответы [ 2 ]

0 голосов
/ 10 апреля 2020

Вы должны добавить этот запрос в соответствующий файл репозитория.

import java.util.Optional;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.CrudRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.Transactional;

@EnableTransactionManagement
@Repository
public interface StudentRepository extends CrudRepository<Student, Integer> {

@Query("SELECT * from Student where active = ?1",nativeQuery= true)
public Optional<List<Student>> findActiveStudents(boolean active);

}

Здесь Student - это соответствующий файл POJO, а Integer - тип данных его первичного ключа.

Вы можете автоматически связать этот файл в вашем файле контроллера и вызовите этот метод publi c. Код в контроллере будет выглядеть как -

@Autowired
private StudentRepository studentRepository;

List<Student> studentList = studentRepository.findActiveStudents(true).get();
0 голосов
/ 03 марта 2020

Вы можете передать параметр в запросе, как это

@Query(select p from Person p where p.forename = :forename and p.surname = :surname)
User findByForenameAndSurname(@Param("surname") String lastname,
     @Param("forename") String firstname);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...