-
[Spring boot] ํด๋ผ์ด์ธํธ์ ์ ๋ฌ ๊ฐ์ ๋ฐ์ธ๋ฉ์ ์ฌ์ฉ๋๋@ModelAttribute์ @RequestBody์ ์ฐจ์ด์ ๊ณผ @ModelAttribute ๋ฐ์ธ๋ฉ ์๋๋ ๋ฌธ์ spring boot 2025. 1. 5. 16:08
public static class TestController { @PostMapping public ResponseEntity modelTest(@ModelAttribute TestDTO testDTO) {} @PostMapping public ResponseEntity bodyTest(@RequestBody TestDTO testDTO) {}}RestAPI ๋ฅผ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด JSON ํํ์ ์์ฒญ์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋๋๋ฐํ์ผ ์์ฒญ์ ์ํด์ form-data๊ฐ ํ์ํด์form-data ์์ฒญ์ผ๋ก ํ ์คํธ ํ๋ ์ค,์์ฒญ ํ๋ผ๋ฏธํฐ๊ฐ ์ ์์ ์ผ๋ก ๋ฐ์ธ๋ฉ ๋์ง ์์์ต๋๋ค.ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ฐพ์์ง๋ง ๊ทธ์ ๋ํ ๋ด์ฉ์ ์ ํํ๊ฒ ์ดํดํ๊ธฐ ์ํด์ ๋ฆฌํด๋ณด๋ ModelAttribute์ RequestBody์ ์ฐจ์ด..
-
[Spring boot] mybatis join ํ ์ด๋ธ jsp ์ถ๋ ฅํ๊ธฐspring boot 2023. 10. 21. 18:39
๐ ํ๊ฒฝ - framework : spring boot - Language : java 11 - database : oracle 12c ๊ทธ๋์ ์ทจ์คํ๋ฉด์ ๊ฒ์ํ์ ๋ช ๋ฒ ๋ง๋ค์ด๋ดค์ง๋ง joinํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฟ๋ฆด์ผ์ด ์์๊ธฐ์ ํฐ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ๋ง์ ํ์ฌ์ ๋ค์ด์์ ๋ณด๋ join ํด์ ๋ฐ์ดํฐ๋ฅผ ๋ฟ๋ ค์ค์ผ ํ๋ ์ํฉ์ ์ง๋ฉดํ๊ฒ ๋๋๋ฐ ... ๋๋ฅํ๐ฅ๐ฅ ๊ฒ์ํด๋ณด๋ mapper.xml์ join์ ํด๋นํ๋ resultMap์ ๋ง๋๋ ๋ฐฉ๋ฒ, ์กฐ์ธํ ์ปฌ๋ผ์ ๋ฃ์ DTO๋ฅผ ์๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ด ์์์ง๋ง ๋ญ๊ฐ ์ฌ์ด ๋ฐฉ๋ฒ์ด ์์ง ์์๊น ์ถ์ด ์ฐพ์๋ณด๋ ์ค์ hashMap์ ์ด์ฉํ๋ฉด ๋๋ค๋ ๊ธ์ ๋ด์ ์๋ํด๋ณด๋ ์์ฒญ ๊ฐ๋จํ๊ฒ ํด๊ฒฐ๋์ต๋๋ค. ๐ mapper ๋ณ๊ฒฝ ์ SELECT m.id, m.nm, f.APLY_DT, q.APRV..
-
[Spring Boot] ajax ์์ฒญ์ 404 ๋ฐ ๋spring boot 2023. 10. 21. 17:57
๐ Setting - java : 11 - oracle : 11c - framework : spring Boot / maven ๐ข Error & Solution ์ปจํธ๋กค๋ฌ ๋ง๋ค์ด์ ๊ธฐ๋ฅ ํ ์คํธ๋ฅผ ์งํํ๋ ์ค ajax ํต์ ์ 404๊ฐ ๊ณ์ํด์ ๋ฐ์ํ์ต๋๋ค. ๊ตฌ๊ธ๋ง์ ํด๋ ์ ์ ๊ฐ์ ์ผ์ด์ค๊ฐ ์์ด์ ๋ํญ์ ๊ฒช๋์ค ์ธํ ๋ฆฌ์ ์ด์์ war๋ก ๋ฐฐํฌํ์ฌ ์คํํ๊ณ ์์๋๋ฐ application context๋ฅผ /ํ๋ก์ ํธ๋ช _war๋ก ์ค์ ํ์ฌ url์ด localhost:8080/ํ๋ก์ ํธ๋ช _war ์์ต๋๋ค. ๊ทธ๋์ application context๋ฅผ /๋ก ์์ ํ๊ณ ๋ค์ ๋น๋ํ๋ ์ ์์๋ ๋จ์ ํ์ธํ์ต๋๋ค. (๋จธ์ฅ)
-
[Oracle] ์ค๋ผํด ์ ์ ์์ฑํ๊ธฐdatabase/oracle 2023. 10. 14. 13:23
๋ณธ๊ฒฉ์ ์ผ๋ก ์ค๋ผํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์์ฑํ๊ธฐ ์ cmd์์ ์ค๋ผํด ์ ์ ๋ฅผ ์์ฑํด์ค๋๋ค. ์ฐ์ cmd๋ฅผ ์คํํ์ฌ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํฉ๋๋ค. ๐ง ํ๊ฒฝ window 10 ์ค๋ผํด 19c 1. oracle ์ ์ sqlplus 2. system ๊ณ์ ์ ์ system ์ค๋ผํด ๋ค์ด๋ก๋์ ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ ์ฌ์ฉ์๋ช ์๋ system์ ์ ๋ ฅํ๊ณ ๋น๋ฐ๋ฒํธ์๋ ์ค๋ผํด ๋ค์ด๋ก๋์ ์ ๋ ฅํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํฉ๋๋ค. 3. ๊ด๋ฆฌ์ ๊ถํ ์ ์ conn/as sysdba 4. ๊ณ์ ์์ฑ # 12c ์ด์ create user c##ohgu identified by ohgu; # 12c ๋ฏธ๋ง create user ohgu identified by ohgu; ๊ณ์ ์ ์์ฑํ๋ฉด์ ORA-65096: ๊ณตํต ์ฌ์ฉ์ ๋๋ ๋กค ์ด๋ฆ์ด ๋ถ์ ํฉํฉ๋๋ค. ๋ผ๋ ์๋ฌ๊ฐ..
-
[Oracle] Oracle ๋ค์ด๋ก๋ ๋ฐ ๋ค์ด๋ก๋ ํ์ธdatabase/oracle 2023. 10. 14. 12:38
์ด์งํ ํ์ฌ์์ ํฌ์ ๋ ํ๋ก์ ํธ๊ฐ ์ค๋ผํด์ ์ฌ์ฉํ๊ณ ์์ด์ ๊ฐ๋ง์ ์ค๋ผํด ๊ณต๋ถํ ๊ฒธ ์ค๋ผํด ๋ค์ด๋ก๋๋ฅผ ์งํํ์ต๋๋ค. ๊ทผ๋ฐ ๊ฐ๋ง์ ๋ค์ด๋ก๋๋ฅผ ๋ฐ๋๊ฑฐ๋ผ ๊ทธ๋ฐ์ง ์ฝ์ง ์๋๋ผ๊ตฌ์. ๋ค์์ ์ด๋ฐ ์ค์์์ด ๋ฐ์ ์ ์๊ฒ๋ ์ ๋ฆฌํ๋ ์ฐจ์์์ ์์ฑํ๋ ์ค๋ผํด ๋ค์ด๋ก๋ ๋ฐ ๋ค์ด๋ก๋ ํ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. โ ํ๊ฒฝ - oracle 19c โ ๊ฒฝ๋ก https://www.oracle.com/kr/downloads/ โ ์ฐธ๊ณ ์ค๋ผํด ๋ค์ด๋ก๋๋ ๊ณต์ง์ง๋ง ์ค๋ผํด ๊ณ์ ์ด ์์ด์ผ ํ๋ ๊ณ์ ์ด ์์ผ์ ๋ถ์ ๋ก๊ทธ์ธ ํ์ ์งํํ๋ฉด ๋๊ณ ์์ผ์ ๋ถ์ ๊ณ์ ์ ์์ฑํด์ค๋๋ค. ๋ค์ด๋ก๋ ์๋ฃ ํ ์์ถ์ ํผ ๋ค setupํ์ผ์ ๋ฐ๋์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด์ผ ํฉ๋๋ค. ์์ถ์ ํผ ๊ฒฝ๋ก๋ ํ๊ธ์ด ์์ผ๋ฉด ์๋๊ณ ๊ณต๋ฐฑ ๋ํ ์์ผ๋ฉด ์ค์น๊ฐ ์ ๋๋ก ์งํ๋์ง ์์ต๋๋ค...
-
[Spring Boot] Maven ํ๊ฒฝ Oracle ์ฐ๋ํ๊ธฐspring boot 2023. 10. 14. 12:12
๐ Setting - java : 11 - oracle : 11c - framework : spring Boot / maven ๐ป application.yml datasource: driver-class-name: oracle.jdbc.driver.OracleDriver url: username: password: - url 1) Oracle9 ๋ฒ์ ์ธ ๊ฒฝ์ฐ "jdbc:oracle:thin:@localhost:1521:XE" 2) Oracle11 ๋ฒ์ ์ธ ๊ฒฝ์ฐ "jdbc:oracle:thin:@localhost:1521:orcl" - username oracle ์ ์ ๋ช - password oracle ์ ์ ์ ํจ์ค์๋ ๐ป DBConfig.java @Configuration public class DBConf..
-
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ์ฃผ์ฌ์ ๊ฒ์1algorithm 2023. 10. 7. 14:47
๐ ๋ฌธ์ ์ค๋ช 1๋ถํฐ 6๊น์ง ์ซ์๊ฐ ์ ํ ์ฃผ์ฌ์๊ฐ ๋ ๊ฐ ์์ต๋๋ค. ๋ ์ฃผ์ฌ์๋ฅผ ๊ตด๋ ธ์ ๋ ๋์จ ์ซ์๋ฅผ ๊ฐ๊ฐ a, b๋ผ๊ณ ํ์ ๋ ์ป๋ ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. a์ b๊ฐ ๋ชจ๋ ํ์๋ผ๋ฉด a2 + b2 ์ ์ ์ป์ต๋๋ค. a์ b ์ค ํ๋๋ง ํ์๋ผ๋ฉด 2 ร (a + b) ์ ์ ์ป์ต๋๋ค. a์ b ๋ชจ๋ ํ์๊ฐ ์๋๋ผ๋ฉด |a - b| ์ ์ ์ป์ต๋๋ค. ๋ ์ ์ a์ b๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ป๋ ์ ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ๐ ์ ํ ์ฌํญ a์ b๋ 1 ์ด์ 6 ์ดํ์ ์ ์์ ๋๋ค. ๐ ๋ต์ class Solution { public int solution(int a, int b) { if(a%2==1){ return (b%2==1)?(a*a)+(b*b):2*(a+b); } e..
-
๐ป ์๋ฐ ์๊ณ ๋ฆฌ์ฆ - ๋ฌธ์์ด ๋ฐ๊ฟ์ ์ฐพ๊ธฐalgorithm 2023. 10. 7. 14:39
๐ ๋ฌธ์ ์ค๋ช ๋ฌธ์ "A"์ "B"๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด myString๊ณผ pat๊ฐ ์ฃผ์ด์ง๋๋ค. myString์ "A"๋ฅผ "B"๋ก, "B"๋ฅผ "A"๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ์ฐ์ํ๋ ๋ถ๋ถ ๋ฌธ์์ด ์ค pat์ด ์์ผ๋ฉด 1์ ์๋๋ฉด 0์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํ์ธ์. ๐ ์ ํ ์ฌํญ 1 โค myString์ ๊ธธ์ด โค 100 1 โค pat์ ๊ธธ์ด โค 10 myString๊ณผ pat๋ ๋ฌธ์ "A"์ "B"๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๋๋ค. ๐ ๋ต์ class Solution { public int solution(String myString, String pat) { String str = ""; String[] arr = myString.split(""); int answer = 0; for(int i=0; i