RecoverableDataAccessException
·
에러일기
RecoverableDataAccessExceptionmysql은 wait_timout(기본값 8시간)동안 접속하지 않으면 커넥션 연결을 종료한다고 한다.마지막 패킷 62,921,127 milliseconds ago...8시간이 넘어서 호스팅 서버에서 mysql이 꺼져있는 상태에서 db에 접근해서 나타난 오류이다. 한번 위 오류가 발생하는 순간, 커넥션 연결이 되기 때문에, 재접속하면 해결된다.
jakarta.el.PropertyNotFoundException
·
에러일기
EL구문을 사용하는 과정에서 name 에 해당하는 property를 찾지 못해서 발생했다.오타로 인해 property를 찾지 못해서 그랬다.
java.lang.NumberFormatException: For input string: "null"
·
에러일기
NumberFormatException이 발생한 원인은 문자열 "null"을 정수로 변환하려고 했기 때문이다.Integer.parseInt 메서드 호출 시 발생했다.Integer.parseInt를 호출하기 전에 입력 문자열이 null인지, 숫자로 변환 가능한지 확인하는 검증 로직을 추가해서 해결했다.
[MyBatis] MyBatis 개념 및 구조
·
DB
MyBatis란 ? MyBatis는 예전에 iBatis로 불렸던 프레임워크로, 객체와 데이터베이스의 매핑을 관리하며 SQL 쿼리를 XML로 분리해 관리하는 특징을 갖는다. 이 방식으로 Java 코드의 SQL 쿼리 의존도를 낮추면서도 필요한 쿼리를 직접 작성할 수 있어 효율적이다.MyBatis 장점 코드 간결화: Java 코드에서 SQL을 분리함으로써 코드 길이가 줄어들고, 가독성이 높아진다.SQL 분리 관리: SQL 구문을 XML 파일로 따로 관리할 수 있어 결합도가 낮아지고 응집도는 높아진다. 따라서 유지보수도 용이해진다.비용 절감: SQL 구문에 변경이 생길 때 XML 파일만 수정하면 되므로, Java 코드를 재컴파일할 필요가 없어 비용 절감 효과가 있다.ORM (Object - Relational ..
org.springframework.dao.EmptyResultDataAccessException
·
에러일기
Spring + JDBC를 이용하여 개발 시에 queryForObject 메서드를 사용하여 하나의 객체만 가져올 경우 해당 데이터가 없으면 org.springframework.dao.EmptyResultDataAccessException 예외가 발생하게 된다. //특정 사용자가 참여한 크루전 찾기 public BattleDTO selectOneSearchMemberBattle(BattleDTO battleDTO){ System.out.println(" [로그] com.coma.app.biz.battle.selectOneSearchMemberBattle 시작"); BattleDTO result = null; Object[] args = new Object[]{battleDTO.getBattle_..
[Spring] 롬복(Lombok) 라이브러리
·
Spring
롬복 ?롬복(Lombok) 라이브러리는 자바에서 보일러플레이트 코드를 줄여주기 위해 사용하는 유용한 도구다.이를 통해 코드가 간결해지고, 가독성도 높아진다.여기서 보일러 플레이트 코드란, 소프트웨어 개발에서 반복적으로 사용되는 일관된 패턴의 코드나 템플릿을 말한다.일반적으로 특정 작업을 수행할 때 필요하지만, 핵심 로직 자체에는 큰 영향을 미치지 않는 코드이다.자주 사용되는 코드로 인해 개발 초기 단계에서 시간과 노력을 절약할 수 있다. 롬복을 사용하면 클래스에 자주 사용하는 getter, setter, toString, equals, hashCode 메서드를 자동으로 생성할 수 있다. ★★ 예시로 @Getter, @Setter 어노테이션을 클래스나 필드에 붙이면 해당 필드에 대한 getter와 sett..
[오블완 챌린지]
·
기타
https://www.tistory.com/event/write-challenge-2024  작심삼주 오블완 챌린지오늘 블로그 완료! 21일 동안 매일 블로그에 글 쓰고 글력을 키워보세요.www.tistory.com 꾸준히 포스팅 하기...............
[Spring] 횡단 로직 - AOP를 활용한 로그인 체크 기능 구현하기
·
Spring
횡단 로직 ? 횡단 로직은 애플리케이션의 여러 부분에 공통적으로 적용되는 기능을 말한다.로깅, 보안, 트랜잭션 관리 등이 이에 해당한다.횡단 로직을 효과적으로 관리하기 위해 AOP(Aspect-Oriented Programming)를 사용한다.AOP를 통해 코드 중복을 줄이고 관심사를 분리할 수 있다. 이번 글에서는 AOP를 이용하여 로그인 체크 로직을 구현하는 방법을 정리해보려고 한다.아래 코드는 지금 현재 진행중인 팀 프로젝트 코드의 일부이다. 기본 구성@LoginCheckpackage com.coma.app.view.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.la..