Spring Boot + JPA + MySQL 애플리케이션을 시작하는 방법

王林
풀어 주다: 2024-08-21 22:31:21
원래의
457명이 탐색했습니다.

프로젝트 생성에 앞서Spring Boot,JPAMySQL# # 기술이 무엇인지 간략하게 설명하겠습니다.

  • Spring Boot: Spring 애플리케이션 개발을 단순화하는 데 사용되는 Java 프레임워크로, 복잡한 구성 없이 간단한 명령으로 실행할 수 있는 독립형 애플리케이션을 생성할 수 있습니다.# #
  • JPA
  • : Java Persistence API는 Java 객체를 관계형 데이터베이스(ORM)에 매핑하는 방법을 정의하는 Java 사양입니다.
  • MySQL
  • : 세계적으로 유명한 오픈 소스 관계형 데이터베이스 관리 시스템(RDBMS). 웹 및 기업 애플리케이션에서 대용량 데이터를 저장, 구성 및 관리하는 데 널리 사용됩니다.
  • 이 세 가지 기술을 사용하면 강력하고 확장 가능한 고성능 웹 애플리케이션을 개발할 수 있습니다.

프로젝트 생성

Spring Boot 프로젝트 생성을 용이하게 하는

Spring Initializr

이라는 온라인 도구에서 프로젝트를 생성합니다.URL을 입력하시면 이런 화면이 나옵니다:

Como iniciar um aplicativo Spring Boot + JPA + MySQL왼쪽에서 다음과 같은 몇 가지 항목을 구성합니다.

프로젝트 유형:
    Maven
  • 언어:
  • Java
  • 스프링 부트 버전:
  • 3.3.2
  • 프로젝트 메타데이터에서 다음을 사용합니다.

그룹:
    br.com.(예: br.com.josemarinho)
  • 아티팩트 및 이름:
  • spring-jpa-mysql
  • 설명:
  • Spring Boot, JPA 및 MySQL을 사용하는 프로젝트
  • 패키지 이름:
  • 그룹 및 아티팩트를 기반으로 자동 생성
  • 포장:
  • 자바:
  • 17
  • 오른쪽에는 프로젝트의 종속성이 있습니다. 즉, 3개를 추가해야 합니다.

스프링 웹
  • 스프링 데이터 JPA
  • MySQL 드라이버
  • 결국 다음과 같이 보일 것입니다:

Como iniciar um aplicativo Spring Boot + JPA + MySQL구성 후

Generate

버튼을 누르면 모든 프로젝트 디렉터리/파일이 포함된 Zip 다운로드가 시작됩니다. 그런 다음 압축을 풀고 원하는 IDE에서 엽니다.첫 번째 실행

프로젝트를 열고 프로그램을 실행하자마자 다음과 같은 런타임 오류가 보고됩니다.

으아악
이는 Spring Boot가 애플리케이션에 대한 DataSource를 자동으로 구성할 수 없기 때문에 발생합니다. 구성해볼까요?

프로젝트에는 resources라는 디렉터리가 있습니다. 이 디렉터리에는 몇 가지 파일이 있으며 그 중에는 스프링 부트 프로젝트의 설정이 있는 application.properties라는 파일이 있습니다. 저는 YAML/YML 버전을 사용하는 것을 좋아하므로 이 파일을 삭제하고 다음과 같이 application.yml이라는 다른 파일을 생성하세요.

Como iniciar um aplicativo Spring Boot + JPA + MySQL앱이 연결될

url

,driver,usernamepassword# 을 정의해 보겠습니다. #:으아악application.properties는 다음과 같습니다.

으아악

좋아, 이제 프로젝트를 다시 실행하면 다음과 같은 출력이 표시됩니다.

엔터티 생성Como iniciar um aplicativo Spring Boot + JPA + MySQL

내 데이터베이스에는 두 개의 필드가 있는 users라는 간단한 테이블이 있습니다.

id: 기본 키 정수 자동 증가

    사용자: varchar(255)

이를 사용하여 이 테이블을 Java 컨텍스트에서 매핑하고 엔터티를 생성하는 첫 번째 단계를 수행합니다. 이렇게 하려면 User라는 클래스를 생성하세요. 최종적으로는 다음과 같아야 합니다.Como iniciar um aplicativo Spring Boot + JPA + MySQL

@Entity @Table(name = "usuarios") public class Usuario { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String usuario; // Getters e Setters }
로그인 후 복사
  • @Entity: Marca a classe como uma entidade JPA. Isso indica ao JPA que a classe deve ser persistida em um banco de dados.
  • @Table(name = "produto"): Especifica o nome da tabela no banco de dados à qual a entidade está mapeada. Se essa anotação não for fornecida, o JPA assumirá que o nome da tabela é o mesmo que o nome da classe.
  • @Id: Indica que o campo é a chave primária da entidade.
  • @GeneratedValue: Indica a estratégia que iremos gerar os valores, no caso escolhemos que o próprio banco de dados irá gerar automaticamente para nós, o padrão é o GenerationType.AUTO.

Agora que temos nossa entidade já desenvolvida precisamos criar nossos Repositórios que implementarão o JPA para realizar manipulações no Banco de Dados.

Criação dos Repositórios utilizando JPA

Para iniciar crie umainterfacechamada UsuarioRepositorio, essa interface vai herdar as características de JpaRepository<> passando dois valores genéricos, o primeiro é aentidadee o segundo é otipo do Id. Não podemos deixar de esquecer de anotar a classe com a anotação @Repository, ficando dessa forma:

@Repository public interface UsuarioRepositorio extends JpaRepository { }
로그인 후 복사

O JpaRepository é uma interface do Spring Data JPA que fornece diversos métodos prontos para realizar operações de acesso a dados em uma aplicação, como por exemplo o findAll() que retorna todos os dados de uma determinada tabela de banco de dados. No final do artigo estarei deixando alguns links falando mais sobre.

Já temos o suficiente para realizar algumas consultas, vamos criar um ponto de entrada na nossa aplicação para ver esses dados.
Crie uma controller chamada: UsuariosController.
Nela vamos anotar com 2 anotações: @RestController e @RequestMapping("/v1/usuarios") para mapear a rota da nossa controller

Vamos fazer injeção de dependência da UsuarioRepository e criar um endpoint GET para obter os dados da controller.

No final ficará assim:

@RestController @RequestMapping("/v1/usuarios") public class UsuarioController { private UsuarioRepositorio usuarioRepositorio; public UsuarioController(UsuarioRepositorio usuarioRepositorio) { this.usuarioRepositorio = usuarioRepositorio; } @GetMapping() public ResponseEntity getUsuarios() { return ResponseEntity.status(HttpStatus.OK).body(usuarioRepositorio.findAll()); } }
로그인 후 복사

Note que estou utilizando o método findAll() que mencionei mais acima existente na repository.

Em minha tabela de banco de dados, já possuo alguns dados. Fazendo uma consulta simples, virá o seguinte resultado:

Como iniciar um aplicativo Spring Boot + JPA + MySQL

Vimos que temos 3 dados na tabela.

Após salvar o conteúdo da controller e executar novamente o projeto, quando realizarmos uma requisição do tipo GET na url localhost:8080/v1/usuarios, virá o seguinte resultado:

Como iniciar um aplicativo Spring Boot + JPA + MySQL

Vemos que o resultado que foi resgatado ao realizar uma consulta no banco de dados foi exatamente o mesmo ao fazer uma requisição GET em nossa aplicação graças ao JPA e ao Spring Boot.

Chegamos ao final de mais um post. Estarei deixando alguns links de referência:

  • Jpa Repository
  • Anotação Generated Value
  • Driver MySQL JPA
  • Spring Boot YAML vs Properties
  • Spring Data JPA

O repositório do artigo se encontra nesse link: Repositório Projeto

Um abraço e bons estudos! Até mais.

위 내용은 Spring Boot + JPA + MySQL 애플리케이션을 시작하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!