Доступ до даних з використанням jdbc c spring, spring по-русски!

Цей урок висвітлює процес доступу до даних з використанням Spring.

Що ви створите

Ви створите додаток, яке використовує Spring JdbcTemplate для доступу до даних в реляційної СУБД.

Що вам буде потрібно

Як проходити цей урок

Як і більшість уроків по Spring, ви можете почати з нуля і виконувати кожен крок, або пропустити базові кроки, які вам вже знайомі. У будь-якому випадку, ви в кінцевому підсумку отримаєте робочий код.

Коли ви закінчите. можете порівняти отриманий результат зі зразком в gs-relational-data-access / complete.

Налаштування проекту

Для початку вам необхідно налаштувати базовий скрипт збірки. Ви можете використовувати будь-яку систему збирання, яка вам подобається для збірки проет Spring, але в цьому уроці розглянемо код для роботи з Gradle і Maven. Якщо ви не знайомі ні з одним з них, ознайомтеся з відповідними уроками Збірка Java-проекту з використанням Gradle або Збірка Java-проекту з використанням Maven.

Створення структури каталогів

В обраному вами каталозі проекту створіть наступну структуру каталогів; наприклад, командою mkdir -p src / main / java / hello для * nix систем:

Створення файлу збірки Gradle

Нижче представлений початковий файл збірки Gradle. Файл pom.xml знаходиться тут. Якщо ви використовуєте Spring Tool Suite (STS). то можете імпортувати урок прямо з нього.

Якщо ви подивіться на pom.xml. ви знайдете, що вказана версія для maven-compiler-plugin. Загалом, це не рекомендується робити. В даному випадку він призначений для вирішення проблем з нашої CI системи, яка за замовчуванням має стару (до Java 5) версію цього плагіна.

Spring Boot gradle plugin надає безліч зручних можливостей:

  • Він збирає все jar'и в classpath і збирає єдине, що виконується "über-jar", що робить більш зручним виконання і доставку вашого сервісу
  • Він шукає public static void main () метод, як ознака виконуваного класу
  • Він надає вбудоване дозвіл залежностей, з певними номерами версій для відповідних Spring Boot залежностей. Ви можете перевизначити на будь-які версії, які захочете, але він буде за замовчуванням для Boot обраним набором версій

Створення об'єкта Customer

Схема доступу до даних проста: ви будете працювати з такими даними, як ім'я та прізвище клієнтів. Для подання цієї інформації на рівні додатку, створіть клас Customer.

Збереження і отримання даних

Spring надає шаблонний клас JdbcTemplate. який спрощує роботу з SQL і JDBC реляційних СУБД. Велика частина JDBC коду складається з отримання ресурсів, управління з'єднанням, обробки виключень і взагалі перевірки помилок, ні як не пов'язаних з тим, для чого призначений код. JdbcTemplate бере на себе все це за вас. Все, що залишається вам зробити, це зосередитися на вирішенні поставленого завдання.

У цьому прикладі ви налаштували JDBC [DataSource] з використанням зручного Spring SimpleDriverDataSource. Потім, ви використовували DataSource для створення екземпляра JdbcTemplate.

SimpleDriverDataSource - зручний клас, але не призначений для реальної роботи.

Після того, як ви сконфигурировали JdbcTemplate. досить просто почати робити запити до БД.

Для початку, ви встановлюєте декілька DDL, використовуючи execute метод класу JdbcTemplate.

Потім ви створюєте кілька записів у вашій новоствореної таблиці, використовуючи update метод класу JdbcTemplate. Першим аргументом методу є рядок запиту, наступний аргумент (масив Object об'єктів) складається з значень, які будуть підставлені в рядок запиту замість ".".

Використовуйте. для аргументів, щоб уникнути атак на основі SQL ін'єкцій.

В кінці ви використовуєте метод query для пошуку по вашій таблиці записів, які відповідають критерію. Ви знову використовуєте "." Аргументи для створення параметрів запиту, підставляючи необхідні значення при виклику. Останній аргумент в методі query створює екземпляр RowMapper. Spring робить 90% всієї роботи, але йому невідомий, що ви плануєте робити далі з отриманим результатом. Таким чином, ви надаєте зразок RowMapper. який Spring викликатиме для кожного запису, об'єднувати результати і повертати як колекцію.

Створення програми виконуваним

Ви можете зібрати єдиний виконуваний JAR-файл, який містить всі необхідні залежності, класи і ресурси. Це робить його легким в завантаженні, версіонірованія і розгортання сервісу як додатки протягом усього періоду розробки, на різних середовищах і так далі.

Потім ви можете запустити JAR-файл:

Якщо ви використовуєте Maven, ви можете запустити додаток, використовуючи mvn spring-boot: run. або ви можете зібрати додаток з mvn clean package і запустити JAR приблизно так:

Процедура, описана вище, створює виконуваний JAR. Ви також можете замість нього зібрати класичний WAR-файл.

запуск сервісу

Якщо ви використовуєте Gradle, ви можете запустити ваш сервіс з командного рядка:

Якщо ви використовуєте Maven, то можете запустити ваш сервіс таким чином: mvn clean package java -jar target / gs-relational-data-access-0.1.0.jar.

Як варіант, ви можете запустити ваш сервіс безпосередньо з Gradle приблизно так:

З mvn - mvn spring-boot: run.

Ви повинні побачити наступне:

Вітаємо! Ви тільки що розробили простий JDBC-клієнт, використовуючи Spring.

З оригінальним текстом уроку ви можете ознайомитися на spring.io.

отримати код

Схожі статті