Spring Boot + JPA + MySQL アプリケーションを起動する方法

王林
リリース: 2024-08-21 22:31:21
オリジナル
457 人が閲覧しました

プロジェクトを作成する前に、Spring BootJPAMySQLというテクノロジーについて簡単に説明します。

  • Spring Boot: Spring アプリケーションの開発を簡素化するために使用される Java フレームワークで、複雑な構成を必要とせずに、単純なコマンドで実行できるスタンドアロン アプリケーションを作成できます。
  • JPA
  • : Java Persistence API は、Java オブジェクトをリレーショナル データベース (ORM) にマッピングする方法を定義する Java 仕様です。
  • MySQL
  • : 世界的に有名なオープンソースのリレーショナル データベース管理システム (RDBMS)。 Web アプリケーションやエンタープライズ アプリケーションで大量のデータを保存、整理、管理するために広く使用されています。
  • これら 3 つのテクノロジーを使用すると、堅牢でスケーラブルな高性能 Web アプリケーションを開発できます。

プロジェクトの作成

Spring Initializr

というオンライン ツールでプロジェクトを作成します。これにより、Spring Boot プロジェクトを簡単に作成できます。

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 + MySQLGenerate

ボタンを押すだけで、すべてのプロジェクトディレクトリ/ファイルを含むZipのダウンロードが開始されます。その後、解凍して好みの IDE で開きます。

最初の実行

プロジェクトを開いてプログラムを実行しようとするとすぐに、次のような実行時エラーが報告されます:

リーリー

これは、Spring Boot がアプリケーションの DataSource を自動的に構成できないために発生します。設定しましょうか

プロジェクトには、resources というディレクトリがあり、このディレクトリ内にいくつかのファイルがあり、その中には、Spring Boot プロジェクトの設定が配置されている application.properties というファイルがあります。私は YAML/YML バージョンを使用したいので、このファイルを削除して、次のような application.yml という名前の別のファイルを作成します。

アプリが接続する

urlComo iniciar um aplicativo Spring Boot + JPA + MySQL

ドライバー

ユーザー名パスワードを定義しましょう:リーリーapplication.properties では次のようになります:
リーリー

さて、プロジェクトを再度実行すると、次のような出力が表示されます。


エンティティの作成

Como iniciar um aplicativo Spring Boot + JPA + MySQL私のデータベースには、users という 2 つのフィールドがある単純なテーブルがあります:

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!