Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Как переписать метод (SQL запрос)?
@avgwowenjoyer

Как создать метод из SQL запроса?

Данный запрос в PostrgreSQL возвращает true, если такая запись в БД есть и false - если нет:
SELECT count(*) <> 0 FROM customers
WHERE name = 'Bob' AND purchase = 'bike'

Как создать такой метод, возвращающий boolean, в Java?
  • Вопрос задан
  • 235 просмотров
Подписаться 1 Простой
Решения вопроса 1
то же самое почти что:

ResultSet resultSet = statement.executeQuery("SELECT count(*) as cnt FROM customers WHERE name = 'Bob' AND purchase = 'bike'");
  resultSet.next(); // not first() with PGSL JDBC it is forward only cursor
  final int cnt = resultSet.getInt(1);   
  System.out.println("cnt: " + cnt);


учтите что можно конечно исходный SQL запрос выполнит через JDBC но его синтаксис не является стандартным SQL это какое то постгрес расширение:

String query = "SELECT count(*) <> 0 FROM accounts WHERE username = 'bob';";
              System.out.println("Executing count query: " + query);
              ResultSet resultSet = connection.createStatement().executeQuery(query);
              resultSet.next();
              final boolean status = resultSet.getBoolean(1);
              System.out.println("status: " + status);
Ответ написан
Ответы на вопрос 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Ну пожалуй, вам стоило бы уточнить работаете ли вы с jdbc или с Spring JDBC, Spring JPA, Hibernate и т.д.
В Spring есть такая штука, как exists*
Например,
existsCustomerByNameAndPurchase(String name, String purchase);

Подробнее: https://www.baeldung.com/spring-data-exists-query
Ну а если jdbc, то в чем проблема? Выполнили SQL запрос. Проверили кол-во записей. Если больше 0, то значит true, если 0 - false
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы