diff --git a/2019-11/spring-11/spring-data-class-work/.gitignore b/2019-11/spring-11/spring-data-class-work/.gitignore new file mode 100644 index 00000000..4ea52072 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/.gitignore @@ -0,0 +1,24 @@ +target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/build/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ diff --git a/2019-11/spring-11/spring-data-class-work/pom.xml b/2019-11/spring-11/spring-data-class-work/pom.xml new file mode 100644 index 00000000..b1a5d2e9 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + ru.otus + spring-data-class-work + 1.0 + + pom + + + spring-data-exercise + spring-data-solution + + diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-exercise/pom.xml b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/pom.xml new file mode 100644 index 00000000..c338c7fd --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + ru.otus + spring-data-exercise + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + 11 + 11 + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/Main.java b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/Main.java new file mode 100644 index 00000000..3c223d05 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/Main.java @@ -0,0 +1,28 @@ +package ru.otus.spring; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import ru.otus.spring.domain.Person; +//import ru.otus.spring10.repostory.PersonRepository; + +import javax.annotation.PostConstruct; + +@SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") +@SpringBootApplication +public class Main { + + public static void main(String[] args) { + SpringApplication.run(Main.class); + } + +// @Autowired +// private PersonRepository repository; + + @PostConstruct + public void init() { +// repository.save(new Person("Pushkin")); + +// repository.findByName("Pushkin").forEach(System.out::println); + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Email.java b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Email.java new file mode 100644 index 00000000..9ee84b8b --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Email.java @@ -0,0 +1,28 @@ +package ru.otus.spring.domain; + +public class Email { + + private int id; + + private String email; + + public Email() { + } + + public Email(String email) { + this.email = email; + } + + public int getId() { + return id; + } + + public String getEmail() { + return email; + } + + public Email(int id, String email) { + this.id = id; + this.email = email; + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Person.java b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Person.java new file mode 100644 index 00000000..e0ea7855 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/domain/Person.java @@ -0,0 +1,45 @@ +package ru.otus.spring.domain; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class Person { + + @Id + @GeneratedValue + private int id; + private String name; + + public Person() { + } + + public Person(String name) { + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Person{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/repository/package-info.java b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/repository/package-info.java new file mode 100644 index 00000000..cadc9854 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-exercise/src/main/java/ru/otus/spring/repository/package-info.java @@ -0,0 +1,3 @@ +package ru.otus.spring.repository; + +// TODO: в этот package необходимо добавить репозиторий diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-solution/pom.xml b/2019-11/spring-11/spring-data-class-work/spring-data-solution/pom.xml new file mode 100644 index 00000000..e99c0254 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-solution/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + ru.otus + spring-data-solution + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 2.2.1.RELEASE + + + + 11 + 11 + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.boot + spring-boot-starter-data-jpa + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/Main.java b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/Main.java new file mode 100644 index 00000000..8db5d5f7 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/Main.java @@ -0,0 +1,28 @@ +package ru.otus.spring; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import ru.otus.spring.domain.Person; +import ru.otus.spring.repostory.PersonRepository; + +import javax.annotation.PostConstruct; + +@SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") +@SpringBootApplication +public class Main { + + public static void main(String[] args) { + SpringApplication.run(Main.class); + } + + @Autowired + private PersonRepository repository; + + @PostConstruct + public void init() { + repository.save(new Person("Pushkin")); + + repository.findByName("Pushkin").forEach(System.out::println); + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Email.java b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Email.java new file mode 100644 index 00000000..9c67d020 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Email.java @@ -0,0 +1,23 @@ +package ru.otus.spring.domain; + +public class Email { + + private int id; + + private String email; + + public Email() { + } + + public Email(String email) { + this.email = email; + } + + public int getId() { + return id; + } + + public String getEmail() { + return email; + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Person.java b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Person.java new file mode 100644 index 00000000..e0ea7855 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/domain/Person.java @@ -0,0 +1,45 @@ +package ru.otus.spring.domain; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class Person { + + @Id + @GeneratedValue + private int id; + private String name; + + public Person() { + } + + public Person(String name) { + this.name = name; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return "Person{" + + "id=" + id + + ", name='" + name + '\'' + + '}'; + } +} diff --git a/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java new file mode 100644 index 00000000..b7799275 --- /dev/null +++ b/2019-11/spring-11/spring-data-class-work/spring-data-solution/src/main/java/ru/otus/spring/repostory/PersonRepository.java @@ -0,0 +1,12 @@ +package ru.otus.spring.repostory; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.CrudRepository; +import ru.otus.spring.domain.Person; + +import java.util.List; + +public interface PersonRepository extends JpaRepository { + + List findByName(String name); +}