Перейти к основному содержимому

44 записи с тегом "SQL"

Посмотреть все теги

· 6 мин. чтения

1. Введение

В этом руководстве мы хотим запустить приложение Spring Boot с популярной базой данных с открытым исходным кодом PostgreSQL. В предыдущей статье мы рассматривали Docker Compose для одновременной обработки нескольких контейнеров . Поэтому вместо того, чтобы устанавливать PostgreSQL как отдельное приложение, мы будем использовать Docker Compose для запуска Spring Boot и PostgreSQL .

2. Создание проекта Spring Boot

Перейдем к Spring Initializer и создадим наш проект Spring Boot . Мы добавим модули PostgreSQL Driver и Spring Data JPA . После того, как мы загрузим полученный ZIP-файл и распакуем его в папку, мы можем запустить наше новое приложение:

./mvnw spring-boot:run

· 9 мин. чтения

1. Введение

В этой статье мы рассмотрим, как выполнять запросы к реляционным базам данных с помощью JDBC , используя идиоматический Groovy.

JDBC, хотя и является относительно низкоуровневым, является основой большинства ORM и других высокоуровневых библиотек доступа к данным на JVM. И мы, конечно, можем использовать JDBC непосредственно в Groovy; однако у него довольно громоздкий API.

К счастью для нас, стандартная библиотека Groovy основана на JDBC и представляет собой чистый, простой, но мощный интерфейс. Итак, мы будем изучать модуль Groovy SQL.

Мы рассмотрим JDBC в простом Groovy, не принимая во внимание какой-либо фреймворк, такой как Spring, для которого у нас есть другие руководства .

2. Настройка JDBC и Groovy

· 6 мин. чтения

1. Обзор

Spring Boot позволяет очень легко управлять изменениями в нашей базе данных. Если мы оставим конфигурацию по умолчанию, она будет искать сущности в наших пакетах и автоматически создавать соответствующие таблицы.

Но иногда нам потребуется более тонкий контроль над изменениями в базе данных. И тогда мы можем использовать файлы data.sql и schema.sql в Spring.

2. Файл data.sql

· 2 мин. чтения

1. Обзор

Spring JDBC и JPA предоставляют абстракции над собственными API JDBC, позволяя разработчикам отказаться от собственных запросов SQL. Однако нам часто нужно видеть эти автоматически сгенерированные SQL-запросы и порядок их выполнения для целей отладки.

В этом кратком руководстве мы рассмотрим различные способы регистрации этих SQL-запросов в Spring Boot.

2. Регистрация запросов JPA

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим шаги по использованию базы данных SQLite в приложении Spring Boot с поддержкой JPA.

Spring Boot поддерживает несколько известных баз данных в памяти из коробки, но SQLite требует от нас немного большего.

Давайте посмотрим, что для этого нужно.

2. Настройка проекта

· 5 мин. чтения

1. Обзор

JDBC предоставляет Java API для чтения фактических данных, хранящихся в таблицах базы данных. Кроме того, тот же API можно использовать для чтения метаданных о базе данных. Метаданные означают данные о данных, такие как имена таблиц, имена столбцов и типы столбцов.

В этом руководстве мы узнаем, как извлекать различные типы метаданных с помощью интерфейса DatabaseMetaData .

2. Интерфейс базы данных метаданных

DatabaseMetaData — это интерфейс, который предоставляет множество методов для получения исчерпывающей информации о базе данных. Эта информация полезна для создания инструментов баз данных, которые позволяют пользователям исследовать структуру различных баз данных. Это также полезно, когда мы хотим проверить, поддерживает ли базовая база данных некоторые функции или нет.

· 11 мин. чтения

1. Введение

Несмотря на то, что SQL Injection является одной из самых известных уязвимостей, он по- прежнему занимает первое место в печально известном списке OWASP Top 10 — теперь это часть более общего класса Injection .

В этом руководстве мы рассмотрим распространенные ошибки кодирования в Java, которые приводят к уязвимости приложения, и способы их предотвращения с помощью API, доступных в стандартной библиотеке времени выполнения JVM. Мы также расскажем, какую защиту мы можем получить с помощью ORM, таких как JPA, Hibernate и других, и о каких слепых зонах нам все еще придется беспокоиться.

2. Как приложения становятся уязвимыми для SQL-инъекций?

Атаки с внедрением работают, потому что для многих приложений единственный способ выполнить данное вычисление — это динамически сгенерировать код, который, в свою очередь, запускается другой системой или компонентом . Если в процессе генерации этого кода мы используем ненадежные данные без надлежащей очистки, мы оставляем открытой дверь для хакеров.

· 4 мин. чтения

1. Введение

В этой статье мы рассмотрим, как мы можем хранить нулевые значения в нашей базе данных, используя простой JDBC . Мы начнем с описания причин использования нулевых значений, а затем приведем несколько примеров кода.

2. Использование нулевых значений

null — ключевое слово, превосходящее все языки программирования. Представляет особую ценность. Распространено мнение, что null не имеет значения или ничего не представляет . Наличие нулевого значения в столбце базы данных означает, что место на жестком диске зарезервировано. Если подходящее значение становится доступным, мы можем сохранить его в этом пространстве.

Другое восприятие состоит в том, что null равен нулю или пустой строке . Нуль или пустая строка в конкретном контексте может иметь значение, например, ноль товаров на складе. Кроме того, мы можем выполнять такие операции, как суммирование или конкатирование этих двух значений. Но эти операции не имеют смысла при работе с null .

· 10 мин. чтения

1. Обзор

В этой статье будут представлены объектно-ориентированные запросы Jooq — Jooq — и простой способ его настройки в сотрудничестве с Spring Framework.

Большинство Java-приложений в той или иной степени сохраняют SQL и получают доступ к этому уровню с помощью инструментов более высокого уровня, таких как JPA. И хотя это полезно, в некоторых случаях вам действительно нужен более тонкий инструмент с более тонкими нюансами, чтобы получить ваши данные или фактически воспользоваться всеми преимуществами, которые может предложить базовая БД.

Jooq избегает некоторых типичных шаблонов ORM и генерирует код, который позволяет нам создавать безопасные для типов запросы и получать полный контроль над сгенерированным SQL с помощью чистого и мощного плавного API.

Эта статья посвящена Spring MVC. В нашей статье Spring Boot Support for jOOQ описывается, как использовать jOOQ в Spring Boot.

2. Зависимости Maven

· 9 мин. чтения

1. Обзор

Есть много способов подключиться к базе данных MySQL из Java, и в этом руководстве мы рассмотрим несколько вариантов, чтобы увидеть, как этого добиться.

Мы начнем с рассмотрения, пожалуй, самых популярных вариантов использования JDBC и Hibernate.

Затем мы также рассмотрим некоторые внешние библиотеки, включая MyBatis, Apache Cayenne и Spring Data . Попутно мы приведем ряд практических примеров.

2. Предпосылки