Rumah >Java >javaTutorial >Bagaimana untuk memulakan aplikasi Spring Boot + JPA + MySQL
Sebelum kita meneruskan untuk mencipta projek, saya akan menerangkan secara ringkas tentang teknologi Spring Boot, JPA dan MySQL.
.Dengan 3 teknologi ini, kami boleh membangunkan aplikasi web yang teguh, berskala dan berprestasi tinggi.
Kami akan membuat projek dalam alat dalam talian yang dipanggil: Spring Initializr yang memudahkan penciptaan projek Spring Boot.
Apabila anda memasukkan URL, anda akan melihat skrin seperti ini:
Kami akan mengkonfigurasi beberapa perkara di sebelah kiri, seperti:
Dalam Metadata Projek anda akan pergi melalui:
Di sebelah kanan anda akan mempunyai kebergantungan projek kami, kami perlu menambah 3, iaitu:
Pada akhirnya ia akan kelihatan seperti ini:
Selepas konfigurasi, hanya tekan butang Jana, di mana anda akan mula memuat turun Zip yang mengandungi semua direktori/fail projek. Selepas itu, hanya nyahzip dan buka dalam IDE pilihan anda.
Sebaik sahaja anda membuka projek dan cuba menjalankan program, ia akan melaporkan ralat masa jalan yang mengatakan perkara berikut:
Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class
Ini berlaku kerana Spring Boot tidak boleh mengkonfigurasi Sumber Data untuk aplikasi secara automatik. Bolehkah kita mengkonfigurasi?
Dalam projek itu akan ada direktori yang dipanggil sumber, dalam direktori ini terdapat beberapa fail, antaranya fail yang dipanggil application.properties yang mana tetapan projek but spring terletak. Saya suka menggunakan versi YAML/YMLnya, jadi padamkan sahaja fail ini dan buat satu lagi yang dipanggil application.yml, kelihatan seperti ini:
Mari kita tentukan url tempat apl kita akan disambungkan, pemandu, nama pengguna dan kata laluan:
spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver username: username password: password url: jdbc:mysql://127.0.0.1:3306/seu_banco_de_dados
Dalam application.properties ia akan kelihatan seperti ini:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=username spring.datasource.password=password spring.datasource.url=jdbc:mysql://localhost:3306/seu_banco_de_dados
Baiklah, sekarang jalankan projek semula dan anda akan melihat output seperti ini.
Dalam pangkalan data saya, saya mempunyai jadual ringkas yang dipanggil pengguna di mana terdapat 2 medan:
Dengan itu, kami akan mengambil langkah pertama untuk memetakan jadual ini dalam konteks Java, mewujudkan Entiti. Untuk melakukan ini, buat kelas yang dipanggil Pengguna, pada akhirnya ia sepatutnya kelihatan seperti ini:
@Entity @Table(name = "usuarios") public class Usuario { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; private String usuario; // Getters e Setters }
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.
Para iniciar crie uma interface chamada UsuarioRepositorio, essa interface vai herdar as características de JpaRepository<> passando dois valores genéricos, o primeiro é a entidade e o segundo é o tipo 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<Usuario, Integer> { }
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:
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:
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:
O repositório do artigo se encontra nesse link: Repositório Projeto
Um abraço e bons estudos! Até mais.
Atas ialah kandungan terperinci Bagaimana untuk memulakan aplikasi Spring Boot + JPA + MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!