diff --git a/.mvn/jvm.config b/.mvn/jvm.config new file mode 100644 index 0000000..156bfdf --- /dev/null +++ b/.mvn/jvm.config @@ -0,0 +1,4 @@ +-Dhttp.proxyHost=oskproxy.intra.tis.co.jp +-Dhttp.proxyPort=8080 +-Dhttps.proxyHost=oskproxy.intra.tis.co.jp +-Dhttps.proxyPort=8080 \ No newline at end of file diff --git a/src/main/java/com/example/demo/DemoApplication.java b/src/main/java/com/example/demo/DemoApplication.java deleted file mode 100644 index 3f3d9f6..0000000 --- a/src/main/java/com/example/demo/DemoApplication.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.example.demo; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -@SpringBootApplication -public class DemoApplication { - - public static void main(String[] args) { - SpringApplication.run(DemoApplication.class, args); - } - -} - diff --git a/src/main/java/com/example/message/Message.java b/src/main/java/com/example/message/Message.java new file mode 100644 index 0000000..1cf43c9 --- /dev/null +++ b/src/main/java/com/example/message/Message.java @@ -0,0 +1,14 @@ +package com.example.message; + +import org.seasar.doma.Entity; +import org.seasar.doma.GeneratedValue; +import org.seasar.doma.GenerationType; +import org.seasar.doma.Id; + +@Entity +public class Message { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + public long id; + public String content; +} diff --git a/src/main/java/com/example/message/MessageApplication.java b/src/main/java/com/example/message/MessageApplication.java new file mode 100644 index 0000000..de42c9a --- /dev/null +++ b/src/main/java/com/example/message/MessageApplication.java @@ -0,0 +1,56 @@ +package com.example.message; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@SpringBootApplication +@RestController +@RequestMapping("/message") +public class MessageApplication { + + public static void main(String[] args) { + SpringApplication.run(MessageApplication.class, args); + } + + @Autowired + MessageDao messageDao; + + @GetMapping("/") + List all() { + return messageDao.selectAll(); + } + + @GetMapping("/{id}") + Message select(@PathVariable("id") int id) { + return messageDao.selectById(id); + } + + @PostMapping("/register") + void insert(@RequestParam String content) { + Message message = new Message(); + message.content = content; + messageDao.insert(message); + } + + @PostMapping("/delete") + void delete(@RequestParam int id) { + Message message = messageDao.selectById(id); + messageDao.delete(message); + } + + @PostMapping("/update/{id}") + void update(@PathVariable int id, @RequestParam String content) { + Message message = messageDao.selectById(id); + message.content = content; + messageDao.update(message); + } +} \ No newline at end of file diff --git a/src/main/java/com/example/message/MessageDao.java b/src/main/java/com/example/message/MessageDao.java new file mode 100644 index 0000000..34b10f5 --- /dev/null +++ b/src/main/java/com/example/message/MessageDao.java @@ -0,0 +1,31 @@ +package com.example.message; + +import java.util.List; + +import org.seasar.doma.Dao; +import org.seasar.doma.Delete; +import org.seasar.doma.Insert; +import org.seasar.doma.Select; +import org.seasar.doma.Update; +import org.seasar.doma.boot.ConfigAutowireable; +import org.springframework.transaction.annotation.Transactional; + +@ConfigAutowireable +@Dao +public interface MessageDao { + @Select + List selectAll(); + + @Insert + @Transactional + int insert(Message message); + + @Select + Message selectById(int id); + + @Delete + int delete(Message message); + + @Update + int update(Message message); +} \ No newline at end of file diff --git a/src/main/resources/META-INF/com/example/message/MessageDao/selectAll.sql b/src/main/resources/META-INF/com/example/message/MessageDao/selectAll.sql new file mode 100644 index 0000000..59c52cd --- /dev/null +++ b/src/main/resources/META-INF/com/example/message/MessageDao/selectAll.sql @@ -0,0 +1,5 @@ +SELECT + id, + content +FROM message +ORDER BY id ASC \ No newline at end of file diff --git a/src/main/resources/META-INF/com/example/message/MessageDao/selectById.sql b/src/main/resources/META-INF/com/example/message/MessageDao/selectById.sql new file mode 100644 index 0000000..345fba7 --- /dev/null +++ b/src/main/resources/META-INF/com/example/message/MessageDao/selectById.sql @@ -0,0 +1 @@ +SELECT id,content FROM message WHERE id = /* id */0 \ No newline at end of file diff --git a/src/main/resources/db/migration/V1.2__Create_messages_table.sql b/src/main/resources/db/migration/V1.2__Create_messages_table.sql new file mode 100644 index 0000000..d7da745 --- /dev/null +++ b/src/main/resources/db/migration/V1.2__Create_messages_table.sql @@ -0,0 +1,5 @@ +CREATE TABLE message ( + id serial , + content VARCHAR(100), + CONSTRAINT "PK" PRIMARY KEY (id) +); \ No newline at end of file