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..9c5d03c --- /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,35 @@ +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; +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); + } + @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/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/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; } 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