From 61f25bdc230d950ff0a84eb2786193dcbf795e2e Mon Sep 17 00:00:00 2001 From: inseo Date: Mon, 15 Jul 2024 19:22:40 +0900 Subject: [PATCH 1/2] =?UTF-8?q?week10=5F=EB=B0=B1=EC=9D=B8=EC=84=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/jdbcdemoleal/Config/config.java" | 23 ++++++++++++ .../JdbcdemolealApplication.java" | 2 - .../repository/PostRepository.java" | 2 +- .../repository/PostRepositoryImpl.java" | 37 +++++++++++++++++++ .../main/resources/application.properties" | 6 +-- 5 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 "week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" create mode 100644 "week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepositoryImpl.java" diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" new file mode 100644 index 0000000..d22ee46 --- /dev/null +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" @@ -0,0 +1,23 @@ +package com.example.jdbcdemoleal.Config; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.datasource.DriverManagerDataSource; +import javax.sql.DataSource; + +@Configuration +public class config { + @Bean + public DataSource dataSource() { + DriverManagerDataSource dataSource = new DriverManagerDataSource(); + dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver"); + dataSource.setUrl("jdbc:mysql://localhost:3306/mydatabase"); + dataSource.setUsername("root"); + dataSource.setPassword("0000"); + return dataSource; + } + @Bean + public JdbcTemplate jdbcTemplate(DataSource dataSource) { + return new JdbcTemplate(dataSource); + } +} diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/JdbcdemolealApplication.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/JdbcdemolealApplication.java" index 955141f..34f5d91 100644 --- "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/JdbcdemolealApplication.java" +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/JdbcdemolealApplication.java" @@ -5,9 +5,7 @@ @SpringBootApplication public class JdbcdemolealApplication { - public static void main(String[] args) { SpringApplication.run(JdbcdemolealApplication.class, args); } - } diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepository.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepository.java" index f64a682..f9277dc 100644 --- "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepository.java" +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepository.java" @@ -5,4 +5,4 @@ public interface PostRepository { List findAll(); void save(Post post); -} +} \ No newline at end of file diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepositoryImpl.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepositoryImpl.java" new file mode 100644 index 0000000..48e1142 --- /dev/null +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/repository/PostRepositoryImpl.java" @@ -0,0 +1,37 @@ +package com.example.jdbcdemoleal.repository; +import com.example.jdbcdemoleal.entity.Post; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.RowMapper; +import org.springframework.stereotype.Repository; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.List; + +@Repository +public class PostRepositoryImpl implements PostRepository { + private final JdbcTemplate jdbcTemplate; + + public PostRepositoryImpl(JdbcTemplate jdbcTemplate) { + this.jdbcTemplate = jdbcTemplate; + } + + @Override + public List findAll() { + String sql = "SELECT * FROM post"; + return jdbcTemplate.query(sql, new PostRowMapper()); + } + + @Override + public void save(Post post) { + String sql = "INSERT INTO post (title, content) VALUES (?, ?)"; + jdbcTemplate.update(sql, post.getTitle(), post.getContent()); + } + + private static class PostRowMapper implements RowMapper { + @Override + public Post mapRow(ResultSet rs, int rowNum) throws SQLException { + return new Post(rs.getLong("id"), rs.getString("title"), rs.getString("content")); + } + } +} diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/resources/application.properties" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/resources/application.properties" index 1b2c617..389b725 100644 --- "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/resources/application.properties" +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/resources/application.properties" @@ -1,6 +1,6 @@ spring.application.name=jdbcdemoleal -spring.datasource.url=jdbc:h2:tcp://localhost/~/test +spring.datasource.url= jdbc:mysql://localhost:3306/mydatabase spring.datasource.driver-class-name=org.h2.Driver -spring.datasource.username=sa -spring.datasource.password=password +spring.datasource.username=root +spring.datasource.password=0000 spring.h2.console.enabled=true From a1c3ad6866f05a02a1168c08257bbc5ca425619c Mon Sep 17 00:00:00 2001 From: inseo Date: Tue, 16 Jul 2024 18:46:15 +0900 Subject: [PATCH 2/2] =?UTF-8?q?week10=5F=EB=B0=B1=EC=9D=B8=EC=84=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/jdbcdemoleal/Config/config.java" | 12 ++++++++++++ .../example/jdbcdemoleal/service/PostService.java" | 2 ++ 2 files changed, 14 insertions(+) diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" index d22ee46..9c5d03c 100644 --- "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/Config/config.java" @@ -1,4 +1,7 @@ package com.example.jdbcdemoleal.Config; +import com.example.jdbcdemoleal.repository.PostRepository; +import com.example.jdbcdemoleal.repository.PostRepositoryImpl; +import com.example.jdbcdemoleal.service.PostService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.jdbc.core.JdbcTemplate; @@ -20,4 +23,13 @@ public DataSource dataSource() { public JdbcTemplate jdbcTemplate(DataSource dataSource) { return new JdbcTemplate(dataSource); } + @Bean + public PostRepository postRepository(JdbcTemplate jdbcTemplate) { + return new PostRepositoryImpl(jdbcTemplate); + } + + @Bean + public PostService postService(PostRepository postRepository) { + return new PostService(postRepository); + } } diff --git "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/service/PostService.java" "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/service/PostService.java" index 9f0c6f0..9fa0d1f 100644 --- "a/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/service/PostService.java" +++ "b/week10/\353\260\261\354\235\270\354\204\234/jdbcdemoleal/src/main/java/com/example/jdbcdemoleal/service/PostService.java" @@ -1,6 +1,7 @@ package com.example.jdbcdemoleal.service; import com.example.jdbcdemoleal.entity.Post; import com.example.jdbcdemoleal.repository.PostRepository; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -8,6 +9,7 @@ public class PostService { private final PostRepository postRepository; + @Autowired public PostService(PostRepository postRepository) { this.postRepository = postRepository; }