Here is an example of how to integrate PostgreSQL and Hibernate in a Spring Boot application:
- First, you need to add the dependencies for PostgreSQL and Hibernate in your pom.xml file:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.4.1212</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.3.Final</version>
</dependency>
- Next, you need to create a configuration file to connect to the PostgreSQL database. You can create a new file called
application.propertiesin thesrc/main/resourcesdirectory and add the following code:
spring.datasource.url=jdbc:postgresql://localhost:5432/<database_name>
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
- Create a model class to map to a database table. For example, you can create a class called
Employee:
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String firstName;
private String lastName;
private String email;
//getters and setters
}
- Create a repository to manage the data operations. For example, you can create an interface called
EmployeeRepository:
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Long> {
}
- Finally, you can create a controller to handle the REST requests. For example, you can create a class called
EmployeeController:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class EmployeeController {
private final EmployeeRepository repository;
public EmployeeController(EmployeeRepository repository) {
this.repository = repository;
}
@GetMapping("/employees")
public List<Employee> getAllEmployees() {
return repository.findAll();
}
}
That's it! You have successfully integrated PostgreSQL and Hibernate in a Spring Boot application. You can now run the application and make requests to the /employees endpoint to retrieve all the employees from the database.