Class DbHelper.ExecuteQuery
-
- All Implemented Interfaces:
public final class DbHelper.ExecuteQueryДополнительный класс, предоставляющий методы доступа к БД
-
-
Method Summary
Modifier and Type Method Description final DbHelper.ExecuteQueryfailOnException(Boolean f)Нужно ли завершать тест как непройденный, если запрос не выполнен, или в процессе выполнения возникло исключение. final DbHelper.ExecuteQuerywithParameters(Map<String, Object> p)Передача параметров запроса. final DbHelper.ExecuteQuerywithMessage(String m)Передача описания запроса. final <T extends Any> List<T>forList(String sql, Class<T> cls)Метод выполняет запрос к БД и возвращает список объектов. final List<Entity>forList(String sql)Метод выполняет запрос к БД и возвращает список ассоциативных массивов (Entity), где ключ массива - название столбца, значение - значение из таблицы fun getEntitiesListByValue(value: String): List<Entity> { val query = "SELECT * FROM entities WHERE value = '$value'" return dbHelper.executeQuery .withMessage("Получение записей из таблицы") .forList(query); }final <T extends Any> TforListAndGetFirst(String sql, Class<T> cls)Метод выполняет запрос к БД. final EntityforListAndGetFirst(String sql)Метод выполняет запрос к БД. final <T extends Any> Optional<T>forOptionalObject(String sql, Class<T> cls)Метод выполняет запрос к БД. final IntegerwithoutResponse(String sql)Метод выполняет запрос к БД без ответа (DELETE, UPDATE, INSERT и т.д.). -
-
Method Detail
-
failOnException
final DbHelper.ExecuteQuery failOnException(Boolean f)
Нужно ли завершать тест как непройденный, если запрос не выполнен, или в процессе выполнения возникло исключение.
После выполнения запроса настройка сбрасывается.
- Parameters:
f- Нужно ли завершать тест как непройденный- Returns:
- Since:
2.5.2
-
withParameters
final DbHelper.ExecuteQuery withParameters(Map<String, Object> p)
Передача параметров запроса.
После выполнения запроса параметры сбрасываются.
- Parameters:
p- Параметры- Returns:
- Since:
2.5.2
-
withMessage
final DbHelper.ExecuteQuery withMessage(String m)
Передача описания запроса.
После выполнения запроса описание сбрасываются.
- Parameters:
m- Описание- Returns:
- Since:
2.5.2
-
forList
final <T extends Any> List<T> forList(String sql, Class<T> cls)
Метод выполняет запрос к БД и возвращает список объектов.
public List<Table> getEntitiesListByValue(String value) { var query = String.format("SELECT * FROM entities WHERE value = '%s'", value); return dbHelper.executeQuery .withMessage("Получение записей из таблицы") .forList(query, Table.class); }
-
forList
final List<Entity> forList(String sql)
Метод выполняет запрос к БД и возвращает список ассоциативных массивов (Entity), где ключ массива - название столбца, значение - значение из таблицы
fun getEntitiesListByValue(value: String): List<Entity> { val query = "SELECT * FROM entities WHERE value = '$value'" return dbHelper.executeQuery .withMessage("Получение записей из таблицы") .forList(query); }- Parameters:
sql- Запрос- Returns:
Список Entity
- Since:
2.5.1
-
forListAndGetFirst
final <T extends Any> T forListAndGetFirst(String sql, Class<T> cls)
Метод выполняет запрос к БД. Работает аналогично методу forList, но возвращает только первый объект из списка.
Метод используется, например, с sql-запросами с оператором ORDER BY.
public Table getEntityByValue(String value) { var query = "SELECT * FROM table WHERE value = :value ORDER BY id DESC"; var params = Map.of("value", value); return dbHelper.executeQuery .withParameters(params) .withMessage("Получение записи из таблицы") .forListAndGetFirst(query, Table.class); }public Table getEntityByValue(String value) { var query = "SELECT * FROM table WHERE value = '" + value + "' ORDER BY id DESC"; return dbHelper.executeQuery .withMessage("Получение записи из таблицы") .forListAndGetFirst(query, Table.class); }
-
forListAndGetFirst
final Entity forListAndGetFirst(String sql)
Метод выполняет запрос к БД. Работает аналогично методу forList, но возвращает только первый объект Entity из списка или пустой объект Entity, если список пуст.
- Parameters:
sql- Запрос- Returns:
Объект Entity
- Since:
2.5.2
-
withoutResponse
final Integer withoutResponse(String sql)
Метод выполняет запрос к БД без ответа (DELETE, UPDATE, INSERT и т.д.).
Пример:
public int deleteEntitiesByValue(String value) { var query = "DELETE * FROM entities WHERE Value = :value"; var params = Map.of("value", value); return dbHelper.executeQuery .withParameters(params) .withMessage("Удаление записей из таблицы") .withoutResponse(query, params); }- Parameters:
sql- Запрос- Returns:
Количество строк, затронутых запросом
- Since:
2.5.2
-
-
-
-