Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

assignment #9

Open
wants to merge 1 commit into
base: 4-bootstrap-data
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions dadsa
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
origin/1-jpa-entities
origin/10-add-books-listview
origin/11-add-authors-assn
origin/2-jpa-relationships
origin/2.1-jpa-equals
origin/3-jpa-repositories
origin/4-bootstrap-data
origin/5-assn-add-publisher
origin/6-publisher-relationship
origin/7-enable-h2-console
origin/8-add-book-service
origin/9-add-controller
origin/HEAD -> origin/main
origin/main
upstream/1-jpa-entities
upstream/10-add-books-listview
upstream/11-add-authors-assn
upstream/2-jpa-relationships
upstream/2.1-jpa-equals
upstream/3-jpa-repositories
upstream/4-bootstrap-data
upstream/5-assn-add-publisher
upstream/6-publisher-relationship
upstream/7-enable-h2-console
upstream/8-add-book-service
upstream/9-add-controller
upstream/main
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

import guru.springframework.spring6webapp.domain.Author;
import guru.springframework.spring6webapp.domain.Book;
import guru.springframework.spring6webapp.domain.Publisher;
import guru.springframework.spring6webapp.repositories.AuthorRepository;
import guru.springframework.spring6webapp.repositories.BookRepository;
import guru.springframework.spring6webapp.repositories.PublisherRepository;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

Expand All @@ -15,10 +17,12 @@ public class BootstrapData implements CommandLineRunner {

private final AuthorRepository authorRepository;
private final BookRepository bookRepository;
private final PublisherRepository publisherRepository;

public BootstrapData(AuthorRepository authorRepository, BookRepository bookRepository) {
public BootstrapData(AuthorRepository authorRepository, BookRepository bookRepository, PublisherRepository publisherRepository) {
this.authorRepository = authorRepository;
this.bookRepository = bookRepository;
this.publisherRepository = publisherRepository;
}

@Override
Expand Down Expand Up @@ -55,7 +59,16 @@ public void run(String... args) throws Exception {
System.out.println("Author Count: " + authorRepository.count());
System.out.println("Book Count: " + bookRepository.count());

Publisher publisher = new Publisher();
publisher.setPublisherName("Narcis");
publisher.setCity("Bucharest");
publisher.setAddress("Roumania, Bucharest");
publisher.setState("Roumania");
publisher.setZip(0000);

publisherRepository.save(publisher);

System.out.println("Publisher Count: " + publisherRepository.count());
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
package guru.springframework.spring6webapp.domain;

import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;

import java.util.Objects;

@Entity
public class Publisher {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String publisherName;
private String address;
private String city;
private String state;
private Integer zip;

@Override
public String toString() {
return "Publisher{" +
"id=" + id +
", publisherName='" + publisherName + '\'' +
", address='" + address + '\'' +
", city='" + city + '\'' +
", state='" + state + '\'' +
", zip='" + zip + '\'' +
'}';
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Publisher publisher)) return false;

return Objects.equals(id, publisher.id);
}

@Override
public int hashCode() {
return id != null ? id.hashCode() : 0;
}

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getPublisherName() {
return publisherName;
}

public void setPublisherName(String publisherName) {
this.publisherName = publisherName;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

public String getCity() {
return city;
}

public void setCity(String city) {
this.city = city;
}

public String getState() {
return state;
}

public void setState(String state) {
this.state = state;
}

public Integer getZip() {
return zip;
}

public void setZip(Integer zip) {
this.zip = zip;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package guru.springframework.spring6webapp.repositories;


import guru.springframework.spring6webapp.domain.Publisher;
import org.springframework.data.repository.CrudRepository;

public interface PublisherRepository extends CrudRepository<Publisher, Long> {
}