Data JPA-findAll Method with Example Class
This method is used to take one input Model class object that will be compared with every row data (only non-null variables) matching records are selected. Here : Example is used to check and compare non-null variabes,findAll just collecting data from Example.
1. Model package in.nareshit.raghu.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor @AllArgsConstructor @Entity @Table(name="book_tab") public class Book { @Id @Column(name="bid") private Integer bookId; @Column(name="bname") private String bookName; @Column(name="bauthor") private String author; @Column(name="bcost") private Double bookCost; @Column(name="btype") private String bookType; } 2. Repository package in.nareshit.raghu.repo; import org.springframework.data.jpa.repository.JpaRepository; import in.nareshit.raghu.model.Book; public interface BookRepository extends JpaRepository<Book, Integer> { } 4. Runner class package in.nareshit.raghu.runner; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.data.domain.Example; import org.springframework.stereotype.Component; import in.nareshit.raghu.model.Book; import in.nareshit.raghu.repo.BookRepository; @Component public class BookRepoRunner implements CommandLineRunner { @Autowired private BookRepository repo; public void run(String... args) throws Exception { /* It will store all row at a time */ repo.saveAll( Arrays.asList( new Book(101, "Core Java", "SAM", 300.0, "BackEnd"), new Book(102, "Adv Java", "SAM", 400.0, "BackEnd"), new Book(103, "Spring Boot", "RAM", 500.0, "BackEnd"), new Book(104, "Angular", "RAM", 300.0, "FrontEnd"), new Book(105, "HTML", "SAM", 400.0, "FrontEnd"), new Book(106, "SQL/PLSQL", "RAM", 300.0, "Database") ) ); //SQL: select * from book where bookType=? and author=? Book b = new Book(); b.setAuthor("SAM"); b.setBookType("BackEnd"); //convert this into example object Example example = Example.of(b); //fetch data List list = repo.findAll(example); list.forEach(System.out::println); System.out.println("DONE"); } }
No Comments Yet!!