목록분류 전체보기 (424)
코딩항해기
붕어빵원정대 - 갈빵질빵 spring 프로젝트 git 주소 GitHub - miniBcake/bungeobbangContribute to miniBcake/bungeobbang development by creating an account on GitHub.github.com 코드 리뷰 및 회의를 git, 카톡 등으로 진행했기 때문에 중프에 비해 노션에는 작성한 내용이 적다.(코드 공유는 git 사용) [임베디드] 붕어빵 원정대 | Notion…flannel-earwig-97f.notion.site v1.0.0 : 프로젝트 최초 완성본 제출 1107 예정(+수정1107 : 1107 코드 main 업로드 완료 (최종본 브랜치))
에러 메세지 기록 : UncategorizedSQLExceptionlog: Member update Exception fail org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [UPDATE BB_MEMBER SET MEMBER_EMAIL = ?, MEMBER_NAME = ?, MEMBER_PHONE = ?, MEMBER_NICKNAME = ?, MEMBER_PROFILE_WAY = ? , MEMBER_ROLE = ? WHERE MEMBER_NUM = ?]; SQL state [HY000]; error code [3819]; Check constrain..
문제 발생 이유Java에서는 Camel case를 DB에서는 Snake case를 사용하기 때문에 컬럼명과 필드명이 불일치할 수 밖에 없고, 이 경우 값을 주입하지 못해 null값이 출력되게 된다. 하지만 Java에서 Snake case를 사용하는 것은 권장되지 않으므로 설정을 통해 해당 차이를 인지 시켜주는 것이 좋다. 해결방법mybatis설정파일(xml)설정 값을 추가해 Camel case로 변경되는 것을 인지시켜줄 수 있다. 별칭(AS) 설정alias를 통해 별칭으로 필드명을 지정해 주입시킬 수도 있다.예를 들어 컬럼명이 TEST_NUM이고, DTO의 필드명이 testNum이라면, 별칭을 통해 일치시키는 방식이다.SELECT TEST_NUM AS testNum FROM TEST; resultMa..
*만약 개발도구(IDE)가 이클립스라면 MyBatis 플러그인이 필요하다. (인텔리제이는 필요없음)*정리한 내용은 spring 방식으로 관련 어노테이션을 사용하는 springboot에서는 mapper인터페이스를 사용한다.마이바티스 MyBatis (IBatis)자바 개발자들이 데이터베이스를 쉽게 다룰 수 있도록 도와주는 오픈 소스 ORM(Object-Relational Mapping) 프레임워크이다.마이바티스는 SQL문과 프로그래밍 언어 코드를 분리해 응집도를 높이고 결합도를 낮춰 유지보수에 용이하다.매핑 Mapping서로 다른 데이터가 서로 오갈 수 있도록 변환하는 것이다.ORM의 경우 객체(DTO,VO)와 테이블(또는 SQL구문, ResultSet(결과) 등)의 데이터가 서로 오갈 수 있도록 변환(매핑..
GET http://localhost:8088/bungeobbang/%22/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585-4d7f-916f-02c3af982a9f.png%22404 (Not Found) 404 에러가 발생했다. 원인은 "" 때문에 제대로 url을 인지하지 못하기 때문이었다. %22 (== " 를 의미한다.)즉 현재 url이 http://localhost:8088/bungeobbang/"/bungeobbang/uploads/board/2024-11-03+a508587d-3f50-4227-ae8b-485f33c31f57/2024-11-03+5ed616c0-a585..
ajax를 할 때 EL식을 작성해 오류가 발생한 경우가 빈번하게 발생해 관련 내용을 확실하게 정리해 놓기 위해 기록한다. 요약 JSTL과 EL은 서버에서 먼저 처리되어 순수 HTML로 변환된다.이후 HTML, CSS, JS는 브라우저에서 순차적으로 처리된다.(JS는 실행 시점을 async/defer로 제어 가능) 실행은 서버 사이드 -> 클라이언트 사이드 순으로 실행된다. 서버 사이드백단 작업을 의미하며 서버(제공자)측에서 즉시 처리하는 것으로 서버 사이드는 클라이언트로 보낼 웹페이지를 만들며 중요한 작업을 수행한다. JSTL, EL이 여기에 속한다. JSTL (JavaServer Pages Standard Tag Library) JSP 페이지가 서블릿으로 변환될 때 실행되어 , 등의 태그 처리한다. ..
팀 프로젝트를 진행하며 view 관련 에러 중 반복되는 에러를 기록해 대응 시간을 줄이고자 정리했다. Uncaught ReferenceError: $ is not defined / $ is not a functionJquery CDN이 누락되어 Jquery 명령어를 인식할 수 없다는 에러문구이다. Jquery CDN을 추가하면 해결된다. Uncaught ReferenceError: Swal is not defined스위트 알랏을 사용하는데 스위트 알랏에 대한 CDN이 누락되어 해당 명령어를 찾을 수 없다는 문구이다. Uncaught TypeError : Cannot read properties of null (reading 'value')null에서 속성 값을 불러오지 못한다는 것으로 해당 태그를 ..
2024-11-02 01:07:31.421 [http-nio-8088-exec-1] INFO o.s.web.servlet.DispatcherServlet - Initializing Servlet 'ds'2024-11-02 01:07:31.477 [http-nio-8088-exec-1] ERROR o.s.web.servlet.DispatcherServlet - Context initialization failedorg.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/ds-servlet.xml] at..
필요성MVC 파트를 나눠 횡단으로 작업을 진행한 후 종단 작업을 통해 기능을 연결하고 오류를 해결하게 되는데, 각각의 로그 스타일이 다르고 JDBCTemplate를 사용하게 되며 로그를 남길 수 있는 부분도 많이 줄어들게 되었다. 이로 인해 종단 작업 시 코드를 하나하나 살펴봐야하는 문제, 또는 새롭게 로그를 남겨야하는 문제가 발생하게 되어 자동 로그에 대해 필요성이 생기게 되었다. 계획Service 시작과 종료 로그요청(사용자 요청) 시작과 종료 로그JDBC 실행 쿼리문, 들어가는 값에 대한 로그3가지에 대한 자동로그를 만들기로 결정했다. 먼저 Service은 핵심기능이므로, 매번 반복되어 로그를 찍는 것은 횡단 기능이다. 즉, AOP를 사용할 수 있다.사용자의 요청이 들어올 때 가장 먼저, 가장 마지..
팀프로젝트에서 MVC를 연결하기 위해 회원 정보 업데이트 기능을 테스트 해보려고 하니 작동이 되지 않으며 예외가 발생했다. 해당 기능은 담당하지 않은 파트라 아직 코드를 전혀 모르기 때문에 브라우저와 콘솔만 확인하고 파악했을 때는 View와 Controller의 복합적인 문제로 보인다. 1. view에서 데이터를 정확한 명칭으로 전달하지 못해 발생하는 null2. 에러 발생 시 없는 error 페이지로 이동하도록 설계된 Controller 로직 미스.. View데이터를 전달하지 못하는 문제를 해결하기 위해 View를 확인했다.데이터 명 관련해서는 두 가지 문제가 있었고, 해당 문제를 해결했다. 1-1. 입력창에 name 속성이 지정되어있지 않은 문제1-2. name 속성이 정해진 데이터명과 일치하지 않..