From 4f9a620c6e95a579837dd98a9891068d48ca15b5 Mon Sep 17 00:00:00 2001 From: Yuta Takayama Date: Wed, 26 Aug 2020 14:07:12 +0900 Subject: [PATCH 1/2] =?UTF-8?q?#23=20friendlist=E3=81=AEbackend=E5=AE=9F?= =?UTF-8?q?=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker/pg/1-createTable.sql | 7 ++- .../demo/controller/FriendController.java | 30 ++++++++++++ .../java/com/example/demo/dao/FriendDao.java | 17 +++++++ .../java/com/example/demo/entity/Emolog.java | 15 +++--- .../java/com/example/demo/entity/Friend.java | 47 +++++++++++++++++++ .../demo/repository/FriendRepository.java | 19 ++++++++ .../example/demo/service/FriendService.java | 19 ++++++++ .../example/demo/dao/FriendDao/selectAll.sql | 4 ++ 8 files changed, 145 insertions(+), 13 deletions(-) create mode 100644 src/main/java/com/example/demo/controller/FriendController.java create mode 100644 src/main/java/com/example/demo/dao/FriendDao.java create mode 100644 src/main/java/com/example/demo/entity/Friend.java create mode 100644 src/main/java/com/example/demo/repository/FriendRepository.java create mode 100644 src/main/java/com/example/demo/service/FriendService.java create mode 100644 src/main/resources/META-INF/com/example/demo/dao/FriendDao/selectAll.sql diff --git a/docker/pg/1-createTable.sql b/docker/pg/1-createTable.sql index 142a796..6f057a2 100644 --- a/docker/pg/1-createTable.sql +++ b/docker/pg/1-createTable.sql @@ -15,16 +15,16 @@ create table sample ( create table friend ( id serial primary key, userid INTEGER not null, - friendid INTEGER not null, name varchar(30) not null, - latestemolog varchar(30) + latestemolog varchar(30), + updated_at timestamp ); create table emolog ( id serial primary key, userid INTEGER not null, friendid INTEGER not null, - create_at timestamp, + created_at timestamp, contents varchar(30) ); @@ -58,4 +58,3 @@ insert into users(name, mail, filterlevel) values insert into emolog(userid, friendid, name, latestemolog) values (1, 2, 'hoge', 'emojihoge') ; - diff --git a/src/main/java/com/example/demo/controller/FriendController.java b/src/main/java/com/example/demo/controller/FriendController.java new file mode 100644 index 0000000..b608e1c --- /dev/null +++ b/src/main/java/com/example/demo/controller/FriendController.java @@ -0,0 +1,30 @@ +package com.example.demo.controller; + +import com.example.demo.entity.Friend; +import com.example.demo.service.FriendService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + + +@RestController +@RequestMapping(path = "/friendlist") +public class FriendController { + + @Autowired + FriendService service; + + @RequestMapping(value="/{userid}",method=RequestMethod.GET) + public String selectAll(@PathVariable("userid") String userid, Model model) { + int userId = Integer.parseInt(userid); + List friends = service.selectAll(userId); + model.addAttribute("friends", friends); + return "friendlist.html"; + } + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/dao/FriendDao.java b/src/main/java/com/example/demo/dao/FriendDao.java new file mode 100644 index 0000000..652f881 --- /dev/null +++ b/src/main/java/com/example/demo/dao/FriendDao.java @@ -0,0 +1,17 @@ +package com.example.demo.dao; + +import com.example.demo.entity.Emolog; +import com.example.demo.entity.Friend; +import org.seasar.doma.Dao; +import org.seasar.doma.Select; +import org.seasar.doma.boot.ConfigAutowireable; + +import java.util.List; + +@Dao +@ConfigAutowireable +public interface FriendDao { + + @Select + List selectAll(int userid); +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/entity/Emolog.java b/src/main/java/com/example/demo/entity/Emolog.java index 169e423..0c336f8 100644 --- a/src/main/java/com/example/demo/entity/Emolog.java +++ b/src/main/java/com/example/demo/entity/Emolog.java @@ -9,7 +9,6 @@ import org.seasar.doma.GeneratedValue; import org.seasar.doma.GenerationType; import org.seasar.doma.Id; -import org.springframework.format.datetime.standard.DateTimeContext; import javax.validation.constraints.Max; import javax.validation.constraints.NotNull; @@ -31,18 +30,16 @@ public class Emolog implements Serializable { private Integer id; @NotNull - @Size(min=30) - private String userid; + @Size(max=30) + private Integer userid; @NotNull - @Size(min=50) - private String friendid; - - private LocalDateTime create_at; + @Size(max=50) + private Integer friendid; @NotNull @Max(40) - private String contents; - + private String latestemolog; + private LocalDateTime create_at; } \ No newline at end of file diff --git a/src/main/java/com/example/demo/entity/Friend.java b/src/main/java/com/example/demo/entity/Friend.java new file mode 100644 index 0000000..1af9484 --- /dev/null +++ b/src/main/java/com/example/demo/entity/Friend.java @@ -0,0 +1,47 @@ +package com.example.demo.entity; + + + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import org.seasar.doma.Entity; +import org.seasar.doma.GeneratedValue; +import org.seasar.doma.GenerationType; +import org.seasar.doma.Id; + +import javax.validation.constraints.Max; +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.time.LocalDateTime; + + +@Entity +@Data +@Getter +@Setter +public class Friend implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + + @NotNull + @Size(max=30) + private Integer userid; + + @NotNull + @Size(max=30) + private String name; + + @Max(30) + private String latestemolog; + + private LocalDateTime updated_at; + + + +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/repository/FriendRepository.java b/src/main/java/com/example/demo/repository/FriendRepository.java new file mode 100644 index 0000000..69b84e3 --- /dev/null +++ b/src/main/java/com/example/demo/repository/FriendRepository.java @@ -0,0 +1,19 @@ +package com.example.demo.repository; + +import com.example.demo.dao.FriendDao; +import com.example.demo.entity.Friend; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public class FriendRepository { + + @Autowired + FriendDao dao; + + public List selectAll(int user) { // (4) + return dao.selectAll(user); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/demo/service/FriendService.java b/src/main/java/com/example/demo/service/FriendService.java new file mode 100644 index 0000000..618e5c2 --- /dev/null +++ b/src/main/java/com/example/demo/service/FriendService.java @@ -0,0 +1,19 @@ +package com.example.demo.service; + +import com.example.demo.entity.Friend; +import com.example.demo.repository.FriendRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FriendService { + + @Autowired + FriendRepository repository; + + public List selectAll(int user){ + return repository.selectAll(user); + } +} \ No newline at end of file diff --git a/src/main/resources/META-INF/com/example/demo/dao/FriendDao/selectAll.sql b/src/main/resources/META-INF/com/example/demo/dao/FriendDao/selectAll.sql new file mode 100644 index 0000000..e1ab80d --- /dev/null +++ b/src/main/resources/META-INF/com/example/demo/dao/FriendDao/selectAll.sql @@ -0,0 +1,4 @@ +select * +from friend +where userid = /* userid */1 +order by updated_at \ No newline at end of file From 6b3f67e1e2f027ea66d836fe38303607e16dd98a Mon Sep 17 00:00:00 2001 From: Yuta Takayama Date: Wed, 26 Aug 2020 14:17:08 +0900 Subject: [PATCH 2/2] =?UTF-8?q?#23=20@Controller=E3=81=A7html=E3=82=92?= =?UTF-8?q?=E8=A1=A8=E7=A4=BA=E3=81=A7=E3=81=8D=E3=82=8B=E3=82=88=E3=81=86?= =?UTF-8?q?=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/controller/EmologController.java | 3 ++- .../java/com/example/demo/controller/FriendController.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/demo/controller/EmologController.java b/src/main/java/com/example/demo/controller/EmologController.java index 2bb44b4..0262256 100644 --- a/src/main/java/com/example/demo/controller/EmologController.java +++ b/src/main/java/com/example/demo/controller/EmologController.java @@ -4,6 +4,7 @@ import com.example.demo.entity.Sample; import com.example.demo.service.EmologService; import com.example.demo.service.SampleService; +import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; @@ -15,7 +16,7 @@ import java.util.List; -@RestController +@Controller @RequestMapping(path = "/emologlist") public class EmologController { diff --git a/src/main/java/com/example/demo/controller/FriendController.java b/src/main/java/com/example/demo/controller/FriendController.java index b608e1c..27d8776 100644 --- a/src/main/java/com/example/demo/controller/FriendController.java +++ b/src/main/java/com/example/demo/controller/FriendController.java @@ -3,6 +3,7 @@ import com.example.demo.entity.Friend; import com.example.demo.service.FriendService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @@ -12,7 +13,7 @@ import java.util.List; -@RestController +@Controller @RequestMapping(path = "/friendlist") public class FriendController {