Collegare con Spring Boot un database utilizzando JPA
Una rapida guida per collegare Spring Boot a un database utilizzando JPA (Java Persistence API), è necessario seguire i 5 seguenti passi:
- Aggiungere la dipendenza JPA a pom.xml (nel caso in cui si utilizzi Maven) o a build.gradle (nel caso in cui si utilizzi Gradle):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2 Configurare i dettagli del database nel file di configurazione di Spring Boot, ad esempio application.properties o application.yml:
spring.datasource.url=jdbc:mysql://localhost:3306/nomedatabase
spring.datasource.username=username
spring.datasource.password=password
spring.jpa.generate-ddl=true
spring.jpa.hibernate.ddl-auto=update
- 3) Creare una classe di entity JPA per ogni tabella del database che si desidera mappare. Ad esempio:
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String email;
// getters e setters
}
- 4)Creare un repository JPA per ogni classe entity che si desidera utilizzare. Ad esempio:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
// eventuali metodi personalizzati
}
- 5) Iniettare il repository JPA in un controller o in un servizio per utilizzarlo:
@Service
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
public List<User> findAll() {
return userRepository.findAll();
}
// altri metodi
}
Ed ecco quindi che con questi passaggi, è possibile utilizzare JPA per eseguire operazioni CRUD (creazione, lettura, aggiornamento e cancellazione) sul database tramite il repository JPA iniettato.
Good luck.
Ok il codice, tra le altre cose devo ancora provare, manca il download del progetto e non saprei da dove iniziare, poi non capisco che cos’è JpaRepository, potresti essere più chiaro?
Ciao Mario, l’articolo è un esempio da cui prendere spunto se può essere utile, quindi non c’è nessun codice da scaricare.Per rispondere alla tua domanda: JpaRepository è una interfaccia fornita da Spring Data JPA che fornisce un insieme di metodi di base per l’accesso a un database relazionale, che è progettato per semplificare lo sviluppo di una logica di persistenza dati. In pratica, JpaRepository consente di definire un repository per una classe entity JPA, che può quindi essere utilizzato per eseguire operazioni CRUD. Infine per quanto riguarda la creazione del progetto da zero (from scratch) ti consiglierei di partire dall’inizializer di spring boot, questo il link: https://start.spring.io/. Grazie per la visita al blog.