JavaRush /Java блог /Java Developer /Spring — это не страшно, или как подключить базу данных д...
Павел
11 уровень

Spring — это не страшно, или как подключить базу данных для студенческого проекта за 5 минут

Статья из группы Java Developer
СОДЕРЖАНИЕ ЦИКЛА СТАТЕЙ Для начала создадим web сервер на Spring Boot. B pom файл в блок <dependencies> добавим следущие зависимости:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
Первая зависимость нужна для работы Spring с базой данных. Вторая зависимость h2 (эйч ту) займется эмуляцией базы данных без скачиваний, установок и сложных конфигураций. Теперь хочу, что бы вы задали себе вопрос: "Кем я хочу стать? Monkey-кодером, который не в состоянии написать что-то сам? Или разработчиком?" Если хотите стать разработчиком, то обязательно прочитайте хорошую книгу про смысл и концепцию Spring, или хотя бы цикл статей. Прямо сейчас можете поискать информацию в интернете о том, что такое бины, сущности, внедрение зависимостей в Spring, способы конфигурации бинов. Вернемся к нашим базам. Вся конфигурация будет состоять в следующем: В resourses создаем файл application.yml (название очень важно!), заполняем содержимым:

spring:
  datasource:
    driverClassName: org.h2.Driver
    url: jdbc:h2:mem:test;
    username: sa
    password:
    h2:
      console:
        enabled: true
  jpa:
    hibernate:
        ddl-auto: create
    generate-ddl: true
    show-sql: false
    properties:
      hibernate:
        dialect: org.hibernate.dialect.H2Dialect
Посмотрим на datasource: driverClassName: указывает, какой тип базы мы будем использовать, у нас это h2. Если бы мы установили Postgres, то написали бы rg.postgresql.Driver; url: — это место, где располагается база, у нас она располагается непосредсвенно в памяти проекта, о чем говорит слово mem (от memory — память), то есть при рестарте приложения база будет создана заново. Можно вместо jdbc:h2:mem:test; написать jdbc:h2:~/test;, и база будет храниться в папке проекта. Опять же, если бы у нас был установлен Postgres, то написали бы что то вроде jdbc:postgresql://localhost:5432/mydb. Теперь jpa: hibernate.ddl-auto: говорит, что делать со схемой базы при перезапуске приложения. Сейчас тут стоит create — значит, создавать заново, также может стоять update — дополнять базу, create-drop — очищать при запуске. Слово hibernate тут не спроста, почитайте про него в интернете, потому что он нам будет нужен. Остальные слова сейчас не важны. Дальше посмотрим, как эту базу можно наполнить и как с ней работать.
Комментарии (5)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
kosatchev Уровень 13
9 декабря 2020
Пихать сюда ломбок, который скрывает половину важного для понимания кода - значит не уважать время людей, которые будут это читать, и пытаться понять, что должно быть в коде вместо этих аннотаций. Хотите научить ломбоку - создайте урок, но не вынуждайте использовать лишнюю зависимость там, где это не надо. Сколько раз замечал, любители ломбока ведут себя как веганы: "Посмотрите, я веган, значит все вокруг меня тоже обязаны есть траву!" ps. я не говорю, что ломбок это плохо, я говорю о том, что всему свое место
Дмитрий Уровень 35
6 декабря 2020
Мне одному это кажется какой то бредятиной или это действительно что-то умное и полезное?)