ソースを参照

fixing the list of people in home query

Trinh Tong 7 年 前
コミット
8d56400b74

+ 32
- 0
src/main/java/io/zipcoder/persistenceapp/controller/HomeController.java ファイルの表示

@@ -0,0 +1,32 @@
1
+package io.zipcoder.persistenceapp.controller;
2
+
3
+import io.zipcoder.persistenceapp.model.Home;
4
+import io.zipcoder.persistenceapp.service.HomeService;
5
+import org.springframework.beans.factory.annotation.Autowired;
6
+import org.springframework.http.HttpStatus;
7
+import org.springframework.http.ResponseEntity;
8
+import org.springframework.web.bind.annotation.GetMapping;
9
+import org.springframework.web.bind.annotation.PostMapping;
10
+import org.springframework.web.bind.annotation.PutMapping;
11
+import org.springframework.web.bind.annotation.RequestBody;
12
+
13
+public class HomeController {
14
+
15
+    @Autowired
16
+    HomeService homeService;
17
+
18
+    @PostMapping(value = "/homes")
19
+    public ResponseEntity<Home> createHome(@RequestBody Home home) {
20
+        homeService.addHome(home);
21
+        return new ResponseEntity<>(home, HttpStatus.CREATED);
22
+    }
23
+
24
+//    @PutMapping("/people/{id}")
25
+//    public ResponseEntity<>
26
+
27
+    @GetMapping(value = "/homes")
28
+    public ResponseEntity<Iterable<Home>> getHomes() {
29
+        Iterable<Home> homes = homeService.getAllHomes();
30
+        return new ResponseEntity<>(homes, HttpStatus.OK);
31
+    }
32
+}

+ 11
- 11
src/main/java/io/zipcoder/persistenceapp/service/HomeService.java ファイルの表示

@@ -17,21 +17,18 @@ public class HomeService {
17 17
     @Autowired
18 18
     JdbcTemplate jdbcTemplate;
19 19
 
20
+    @Autowired
21
+    PersonService personService;
22
+
20 23
     public HomeService() {
21 24
     }
22
-    /*
23
-    SELECT * FROM person
24
-    INNER JOIN home ON person.home_id = home.id
25
-    WHERE home.id = ?
26
-    value = parameter
27
-     */
28
-
29
-    static class HomeRowMapper implements RowMapper<Home> {
25
+
26
+    class HomeRowMapper implements RowMapper<Home> {
30 27
         @Override
31 28
         public Home mapRow(ResultSet rs, int rowNum) throws SQLException {
32 29
             Home home = new Home();
33
-            home.setAddress(rs.getString("address"));
34
-            home.setHomeNumber(rs.getString("homenumber"));
30
+            home.setAddress(rs.getString("ADDRESS"));
31
+            home.setHomeNumber(rs.getString("HOMENUMBER"));
35 32
             home.setId(rs.getInt("id"));
36 33
             return home;
37 34
         }
@@ -57,6 +54,10 @@ public class HomeService {
57 54
                         "VALUES(?, ?)", home.getAddress(), home.getHomeNumber());
58 55
     }
59 56
 
57
+    public List<Home> getAllHomes() {
58
+        return jdbcTemplate.query("SELECT * FROM HOME", new HomeRowMapper());
59
+    }
60
+
60 61
     public void remove(Integer id) {
61 62
         jdbcTemplate.update(
62 63
                 "DELETE FROM home WHERE id = ?", id);
@@ -94,5 +95,4 @@ public class HomeService {
94 95
         return jdbcTemplate.query(
95 96
                 "SELECT * FROM person INNER JOIN home on person.home_id = home.id WHERE home.id = ?",
96 97
                 new Object[]{id}, new PersonService.PersonRowMapper());
97
-    }
98 98
 }

+ 1
- 1
src/main/java/io/zipcoder/persistenceapp/service/PersonService.java ファイルの表示

@@ -28,7 +28,7 @@ public class PersonService {
28 28
 
29 29
     public PersonService() {}
30 30
 
31
-    static class PersonRowMapper implements RowMapper<Person> {
31
+    class PersonRowMapper implements RowMapper<Person> {
32 32
         @Override
33 33
         public Person mapRow(ResultSet rs, int rowNum) throws SQLException {
34 34
             Person person = new Person();