Guest User

Untitled

a guest
May 12th, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. <jdbc:embedded-database id="dataSource" type="H2">
  2. <jdbc:script location="schema.sql"/>
  3. <jdbc:script location="data.sql"/>
  4. </jdbc:embedded-database>
  5.  
  6. insert into PersonForH2 (first_name, last_name, age) VALUES ('Roma', 'Romarov', '18');
  7. insert into PersonForH2 (first_name, last_name, age) VALUES ('Pavel', 'Pavlov', '19');
  8. insert into PersonForH2 (first_name, last_name, age) VALUES ('Egor', 'Egorov', '20')
  9.  
  10. class SimplePersonTest {
  11.  
  12. private EmbeddedDatabase embeddedDatabase;
  13. private JdbcTemplate jdbcTemplate;
  14. private PersonDao personDao;
  15.  
  16. @BeforeEach
  17.  
  18. void setUp() {
  19. embeddedDatabase = new EmbeddedDatabaseBuilder()
  20. .addDefaultScripts()
  21. .setType(EmbeddedDatabaseType.H2)
  22. .build();
  23. jdbcTemplate = new JdbcTemplate(embeddedDatabase);
  24. personDao = new SimplePerson(jdbcTemplate);
  25. }
  26.  
  27.  
  28.  
  29.  
  30. @Test
  31. void getAll() {
  32. Assertions.assertNotNull(personDao.getAll());
  33. Assertions.assertEquals(2,personDao.getAll().size());
  34. }
  35.  
  36. public interface PersonDao {
  37.  
  38. long create(Person person);
  39.  
  40. default Optional<Person> get(long id) {
  41. return getAll().stream().filter(person -> person.getId() == id).findAny();
  42. }
  43.  
  44. List<Person> getAll();
  45.  
  46. Person update(Person person);
  47.  
  48. PersonDao remove(long id);
  49.  
  50. default PersonDao remove(Person person) {
  51. return remove(person.getId());
  52.  
  53. }
  54.  
  55. }
  56.  
  57. public interface Person {
  58. String getFirstName();
  59.  
  60. String getLastName();
  61.  
  62. int getAge();
  63.  
  64. Long getId();
  65.  
  66. String setFirstName();
  67.  
  68. String setLastName();
  69.  
  70. String setAge();
  71.  
  72. Long setId();
  73.  
  74.  
  75. }
  76.  
  77. @AllArgsConstructor(onConstructor = @__(@Autowired))
  78. @Data
  79. @Component("person")
  80. @NoArgsConstructor(force = true)
  81. public class SimplePerson implements Person, PersonDao {
  82.  
  83.  
  84. Long id;
  85. String firstName;
  86. String lastName;
  87. int age;
  88. JdbcTemplate jdbcTemplate;
  89. public SimplePerson(JdbcTemplate jdbcTemplate) {
  90. this.jdbcTemplate = jdbcTemplate;
  91. }
  92. //....
Add Comment
Please, Sign In to add comment