Конфигурация Spring Hibernate и создание таблицы в базе данных
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 непосредственно с сервера базы данных, а приложения минимизируют доступ к базе данных.