Конфигурация Spring Hibernate и создание таблицы в базе данных

Опубликовано: 20 Февраля, 2023

Spring Boot используется для разрабатывать веб-сервисы REST и микросервисы. Spring Boot сокращает время настройки и настройки, необходимое для весенних проектов. Hibernate (Java ORM Framework) предоставляет платформу для сопоставления объектно-ориентированного домена с таблицей реляционной базы данных, такой как MySQL, Oracle и PostgreSQL. Spring Boot Hibernate используется в среде Java и предоставляет решение для сопоставления отношений объектов, которое используется для сопоставления объектно-реляционных баз данных с приложением загрузки Spring. Spring Boot Hibernate — это платформа с открытым исходным кодом, используемая для разработки приложения Java и реализующая спецификацию API сохраняемости Java для данных сохраняемости. Hibernate Query Language используется для генерации запроса к базе данных, поэтому нет необходимости делать это вручную во время реализации в проекте. Spring Boot Hibernates помогает автоматически создать таблицу в базе данных, не делая этого вручную.

Каковы преимущества гибернации?

  • Легко выполнять операцию CRUD с данными из нескольких таблиц.
  • Сопоставление классов Java с таблицами базы данных с помощью XML-файла.
  • Чтобы внести изменения в базу данных, нам нужно только внести изменения в файл XML.
  • нет необходимости в каком-либо сервере для управления проектом при использовании спящего режима

Hibernate поддерживает следующие механизмы баз данных RDMS:

  • MySQL
  • Оракул
  • DB2
  • Sybase
  • Информикс
  • PostgreSQL

Как настроить Hibernate с помощью MySQL

Прежде чем приступить к шагам, создайте проект Maven. После создания проект выглядит следующим образом.

Теперь активизируйте верстак и создайте новую схему. Созданная схема выглядит так.

Пошаговая реализация

Шаг 1: Теперь откройте файл application.properties в eclipse, чтобы ввести все конфигурации базы данных.

Добавьте конфигурацию базы данных в файл application.properties в папке src/main/resources.

#database configurations
spring.datasource.url=jdbc:mysql://localhost:3306/examportal
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class=com.cj.jdbc.Driver

кратко о конфигурации базы данных сначала добавьте URL-адрес базы данных с номером порта, затем добавьте имя пользователя и пароль базы данных, затем добавьте источник данных MySQL.

Шаг 2: После добавления конфигурации базы данных добавьте конфигурацию JPA (Java Persistence API) для подключения к базе данных с использованием режима гибернации.

#jpa configuration
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.formate_sql=true;

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

Шаг 3. Добавьте зависимость для MySQL в файл pom.xml.

<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <scope>runtime</scope>
</dependency>

Шаг 4: Создайте пакет Entity для создания таблицы в базе данных. В приведенном ниже примере показано, как создать пакет и файлы Java соответственно.

Шаг 5: Теперь добавьте переменные и методы получения и установки в файл User.java, используя аннотации для сопоставления файла Java с таблицей базы данных.

Java




package com.exam.Portal.entities;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "users")
public class User {
 
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;
    private String username;
    private String password;
    private String firstname;
    private String lastname;
    private String email;
    private String phone;
    private boolean enable;
 
    public User() {
 
    }
 
    public User(int id, String username, String password, String firstname, String lastname, String email, String phone,
            boolean enable) {
        super();
        this.id = id;
        this.username = username;
        this.password = password;
        this.firstname = firstname;
        this.lastname = lastname;
        this.email = email;
        this.phone = phone;
        this.enable = enable;
    }
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    public String getFirstname() {
        return firstname;
    }
 
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
 
    public String getLastname() {
        return lastname;
    }
 
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
 
    public String getEmail() {
        return email;
    }
 
    public void setEmail(String email) {
        this.email = email;
    }
 
    public String getPhone() {
        return phone;
    }
 
    public void setPhone(String phone) {
        this.phone = phone;
    }
 
    public boolean isEnable() {
        return enable;
    }
 
    public void setEnable(boolean enable) {
        this.enable = enable;
    }
 
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", password=" + password + ", firstname=" + firstname
                + ", lastname=" + lastname + ", email=" + email + ", phone=" + phone + ", enable=" + enable + "]";
    }
 
}

Выход:

Теперь, если вы собираетесь запускать основной файл проекта, таблицы будут создаваться в базе данных. Как показано ниже

Hibernate — это решение объектно-реляционного сопоставления, которое используется для сопоставления объектно-ориентированных классов/классов Java с объектно-реляционными базами данных. Это уменьшает работу разработчика, поскольку таблицы будут создаваться автоматически без написания какого-либо запроса, а также предоставляет API для извлечения объектов Java непосредственно с сервера базы данных, а приложения минимизируют доступ к базе данных.