Описание среды: Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE
Spring Boot — это среда быстрой разработки, основанная на среде Spring, которая позволяет разработчикам быстро создавать надежные веб-приложения Java. MySQL — одна из наиболее широко используемых систем реляционных баз данных, а также лучший выбор для Spring Boot для интеграции баз данных. В этой статье будет показано, как Spring Boot интегрирует базу данных MySQL.
В этой статье будет создано простое веб-приложение Java с использованием Spring Boot и базы данных MySQL. Сначала мы покажем, как настроить Spring Boot, а затем будем использовать JPA (Java Persistence API) и Hibernate для управления сопоставлением между объектами класса сущности и базой данных. Наконец, мы будем использовать Spring Data JPA для запроса и управления данными в базе данных.
Spring Boot — это среда быстрой разработки, основанная на среде Spring, которая позволяет разработчикам быстро создавать надежные веб-приложения Java. Spring Boot предоставляет множество готовых функций, таких как автоматическая настройка, элегантная обработка ошибок, встроенный веб-сервер, безопасность, мониторинг и т. д.
MySQL — одна из наиболее широко используемых систем реляционных баз данных, а также лучший выбор для Spring Boot для интеграции баз данных. MySQL поддерживает несколько типов данных, репликацию «главный-подчиненный», секционирование и другие функции. Кроме того, MySQL также предоставляет множество отличных инструментов поддержки, таких как MySQL Workbench, MySQL Connector/J и т. д.
Прежде чем мы начнем, нам нужно добавить зависимости Spring Boot и MySQL в проект Maven. Добавьте следующие зависимости в файл pom.xml:
<dependencies>
<!-- Spring Загрузочные зависимости -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Зависимость MySQL -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- Spring Data JPA-зависимость -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
Прежде чем настраивать подключение к базе данных MySQL, нам необходимо установить базу данных MySQL локально. После завершения установки нам необходимо создать базу данных и пользователя.
Создайте базу данных в MySQL:
CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Создайте пользователя в MySQL:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
Предоставьте пользователю права доступа к базе данных:
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'%';
Теперь, когда у нас есть готовая база данных MySQL, следующим шагом будет настройка подключения к базе данных MySQL в Spring Boot.
Добавьте следующую конфигурацию в файл application.properties:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=GMT%2B8&characterEncoding=utf-8
spring.datasource.username=myuser
spring.datasource.password=mypassword
Далее мы будем использовать JPA и Hibernate для управления сопоставлением между классами сущностей и базами данных. JPA — это спецификация персистентности Java, а Hibernate — это платформа ORM, реализующая спецификацию JPA, которая может сопоставлять объекты Java с таблицами в базе данных.
Создайте пакет с именем com.example.demo в каталоге src/main/java и создайте класс сущности с именем User:
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// методы получения и установки опущены
}
Используйте аннотацию @Entity в классе сущности, чтобы аннотировать класс сущности, используйте аннотацию @Table, чтобы она соответствовала имени таблицы базы данных, используйте аннотацию @Id в атрибутах, чтобы идентифицировать первичный ключ, и используйте аннотацию @GeneratedValue, чтобы указать стратегия генерации значения первичного ключа. Пример скриншота выглядит следующим образом:
Далее нам нужно создать интерфейс репозитория с именем UserRepository для управления базой данных. Использование Spring Data JPA может значительно упростить нашу работу по разработке. Создайте пакет с именем com.example.demo.repository в каталоге src/main/java и создайте интерфейс с именем UserRepository:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
Как видите, этот интерфейс наследует интерфейс JpaRepository, в котором уже реализованы базовые операции CRUD. Нам больше не нужно вручную писать методы этих операций.
Теперь, когда мы создали класс сущности User и интерфейс UserRepository, следующим шагом будет использование Spring Data JPA для запроса и управления данными в базе данных.
Создайте пакет с именем com.example.demo.controller в каталоге src/main/java и создайте класс контроллера с именем UserController:
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("")
public List<User> getUsers() {
return userRepository.findAll();
}
@PostMapping("")
public User createUser(@RequestBody User user) {
return userRepository.save(user);
}
}
Используйте аннотацию @RestController в классе UserController, чтобы идентифицировать класс как класс контроллера, и используйте аннотацию @RequestMapping, чтобы указать путь сопоставления. Пример скриншота выглядит следующим образом:
В методе getUser() мы используем метод userRepository.findAll() для запроса всех пользователей в базе данных и возврата списка пользователей.
В методе createUser() мы используем аннотацию @RequestBody для сопоставления данных JSON в теле запроса с объектом User и используем метод userRepository.save(user) для сохранения объекта User в базе данных и возврата сохраненного пользователя. объект.
Мы используем Postman для тестирования наших приложений.
Отправьте запрос GET и получите всех пользователей:
URL:http://localhost:8080/users
Method:GET
Отправьте POST-запрос и создайте нового пользователя:
URL:http://localhost:8080/users
Method:POST
Body:{
"name": "Tom",
"email": "tom@example.com"
}
В этой статье описывается, как использовать Spring Boot и MySQL для создания простого веб-приложения Java. Мы использовали JPA и Hibernate для управления сопоставлением между классами сущностей и базой данных, а также использовали Spring Data JPA для запроса и обработки данных в базе данных. В то же время мы также написали тестовые примеры для тестирования нашего приложения.
В этой статье мы узнали, как настроить соединение с базой данных MySQL, создавать классы сущностей, создавать интерфейсы репозитория, использовать Spring Data JPA для работы с данными в базе данных и как писать тестовые примеры. Я полагаю, что благодаря введению этой статьи читатели уже поняли суть интеграции Spring Boot и MySQL и могут использовать ее для быстрого создания собственных веб-приложений Java.
👨🎓Автор:Bugger ✏️блог:CSDN、наггетсы、infoQ、51CTOждать 🎉Введение: CSDN|Alibaba Cloud|Huawei Cloud|51CTO и другие эксперты блогов сообщества, Топ-30 звезд предыдущих блогов, Топ-40 самых популярных авторов года в Nuggets, Топ-12 блоггеров в 51CTO, Nuggets | InfoQ | 51CTOждать社区优质创作者,Общее количество поклонников во всей сети15w+