Skip to content

Commit c8f1d74

Browse files
author
shlomysheps
committed
task springframeworkguru#4 add publisher entity
1 parent 2f5725d commit c8f1d74

File tree

3 files changed

+122
-1
lines changed

3 files changed

+122
-1
lines changed

src/main/java/guru/springframework/spring6webapp/bootstrap/BootstrapData.java

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
import guru.springframework.spring6webapp.domain.Author;
44
import guru.springframework.spring6webapp.domain.Book;
5+
import guru.springframework.spring6webapp.domain.Publisher;
56
import guru.springframework.spring6webapp.repositories.AuthorRepository;
67
import guru.springframework.spring6webapp.repositories.BookRepository;
8+
import guru.springframework.spring6webapp.repositories.PublisherRepository;
79
import org.springframework.boot.CommandLineRunner;
810
import org.springframework.stereotype.Component;
911

@@ -15,12 +17,17 @@ public class BootstrapData implements CommandLineRunner {
1517

1618
private final AuthorRepository authorRepository;
1719
private final BookRepository bookRepository;
20+
private final PublisherRepository publisherRepository;
1821

19-
public BootstrapData(AuthorRepository authorRepository, BookRepository bookRepository) {
22+
public BootstrapData(AuthorRepository authorRepository,
23+
BookRepository bookRepository,
24+
PublisherRepository publisherRepository) {
2025
this.authorRepository = authorRepository;
2126
this.bookRepository = bookRepository;
27+
this.publisherRepository = publisherRepository;
2228
}
2329

30+
2431
@Override
2532
public void run(String... args) throws Exception {
2633
Author eric = new Author();
@@ -31,8 +38,17 @@ public void run(String... args) throws Exception {
3138
ddd.setTitle("Domain Driven Design");
3239
ddd.setIsbn("123456");
3340

41+
Publisher ppp = new Publisher();
42+
ppp.setPublisherName("Steven king");
43+
ppp.setAddress("Tshor 3");
44+
ppp.setCity("St Petersburg");
45+
ppp.setState("FL");
46+
ppp.setZip(23993L);
47+
48+
3449
Author ericSaved = authorRepository.save(eric);
3550
Book dddSaved = bookRepository.save(ddd);
51+
Publisher pppSaved = publisherRepository.save(ppp);
3652

3753
Author rod = new Author();
3854
rod.setFirstName("Rod");
@@ -54,6 +70,7 @@ public void run(String... args) throws Exception {
5470
System.out.println("In Bootstrap");
5571
System.out.println("Author Count: " + authorRepository.count());
5672
System.out.println("Book Count: " + bookRepository.count());
73+
System.out.println("Publisher Count: " + publisherRepository.count());
5774

5875

5976
}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
package guru.springframework.spring6webapp.domain;
2+
3+
import jakarta.persistence.Entity;
4+
import jakarta.persistence.GeneratedValue;
5+
import jakarta.persistence.GenerationType;
6+
import jakarta.persistence.Id;
7+
8+
import java.util.Objects;
9+
10+
@Entity
11+
public class Publisher {
12+
@Id
13+
@GeneratedValue(strategy = GenerationType.AUTO)
14+
private Long id;
15+
private String publisherName;
16+
private String address;
17+
private String city;
18+
private String state;
19+
20+
public Long getZip() {
21+
return zip;
22+
}
23+
24+
public void setZip(Long zip) {
25+
this.zip = zip;
26+
}
27+
28+
private Long zip;
29+
30+
31+
@Override
32+
public String toString() {
33+
return "Publisher{" +
34+
"id=" + id +
35+
", publisherName='" + publisherName + '\'' +
36+
", address='" + address + '\'' +
37+
", city='" + city + '\'' +
38+
", state='" + state + '\'' +
39+
", zip='" + zip + '\'' +
40+
'}';
41+
}
42+
43+
@Override
44+
public boolean equals(Object o) {
45+
if (this == o) return true;
46+
if (o == null || getClass() != o.getClass()) return false;
47+
Publisher publisher = (Publisher) o;
48+
return Objects.equals(id, publisher.id) && Objects.equals(publisherName, publisher.publisherName) && Objects.equals(address, publisher.address) && Objects.equals(city, publisher.city) && Objects.equals(state, publisher.state) && Objects.equals(zip, publisher.zip);
49+
}
50+
51+
@Override
52+
public int hashCode() {
53+
return Objects.hash(id, publisherName, address, city, state, zip);
54+
}
55+
56+
public Long getId() {
57+
return id;
58+
}
59+
60+
public void setId(Long id) {
61+
this.id = id;
62+
}
63+
64+
public String getPublisherName() {
65+
return publisherName;
66+
}
67+
68+
public void setPublisherName(String publisherName) {
69+
this.publisherName = publisherName;
70+
}
71+
72+
public String getAddress() {
73+
return address;
74+
}
75+
76+
public void setAddress(String address) {
77+
this.address = address;
78+
}
79+
80+
public String getCity() {
81+
return city;
82+
}
83+
84+
public void setCity(String city) {
85+
this.city = city;
86+
}
87+
88+
public String getState() {
89+
return state;
90+
}
91+
92+
public void setState(String state) {
93+
this.state = state;
94+
}
95+
96+
97+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package guru.springframework.spring6webapp.repositories;
2+
3+
import guru.springframework.spring6webapp.domain.Publisher;
4+
import org.springframework.data.repository.CrudRepository;
5+
6+
public interface PublisherRepository extends CrudRepository<Publisher, Long> {
7+
}

0 commit comments

Comments
 (0)