본문 바로가기

분류 전체보기292

Spring에서 file upload를 구현하고, DB에 저장 시.. exception발생 제목 그대로 spring에서, Multipart file을 저장하고, 해당 정보를 DB에 기록한다. 코드는 아래와 같이 구현했다. private void function(MultipartFile file){ String fileName = file.getOriginalFilename(); Path saveLoc = Path.get(pathparam1, pathparam2...).resolve(fileName); Files.copy( file.getInputStream(), saveLoc, StandardCopyOption.REPLACE_EXISTING); .. //Save to DB Map param = new HashMap(); param.put("saveLocation", saveLoc); param.. 2023. 11. 14.
MyBatis에서 SQL로그 남기기. Mybatis를 이용해서 SQL을 처리하다보면 디버깅을 해야할 때가 있다. 근데 무슨 쿼리가 어떻게 나가는지 알아야할것 아닌가? 그래서 로그를 남겨야한다. 1. maven에 패키지 설정 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 위와 같이 로그 남기기 위한 패키지를 정하고 2. log4jdbc.log4j2.properties파일 추가 resources패키지 밑에 log4jdbc.log4j2.properties파일을 만들고, 아래와 같이 내용 채우자. log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator log4jdbc.dump.sql.maxlinelength=0 이 파.. 2023. 11. 3.
MyBatis에서 char(nn)컬럼이 String으로 맵핑되지 않을 때. MyBatis를 이용하여 SQL문을 처리하고있는데, 디버깅하다가 알게 된 사실. varchar컬럼은 String으로 알아서 맵핑되는데 char컬럼은 맵핑이 안되고 error가 발생하더라. (아님 null) 왜이러지? 하고 한참 찾아보았다. 그러다 아래 원글님의 resultMap을 사용하는 것을 참고하여 해결했다. https://goodteacher.tistory.com/650 [MyBatis] 03. 조회 결과의 매핑 조회 결과의 매핑 이번 포스트에서는 database에서 select로 조회한 내용을 java object 즉 DTO에 매핑하는 내용에 대해 다양하게 살펴보자. MyBatis의 조회 결과 매핑 방식 MyBatis는 다양한 방식으로 조회 goodteacher.tistory.com 결과만 요약하.. 2023. 11. 1.
Mybatis에서 조건부로 쿼리 붙이기. Mapper를 이용해서 쿼리를 보낼 때, 조건부로 쿼리를 붙여야하는 경우가 있다. 예를 들어, '전체보기' , '날짜필터링', '그룹필터링', '권한필터링'.. 이런 메뉴가 있다고 할때, 사용자가 가능한 선택은 전체보기나 날짜만으로 필터링 또는 날짜+권한 이런식으로 선택이 가능하다고 할때, 다음과 같이 조건이 필요해질 수 있다. WHERE뒤에.. 전체보기면 그냥 통과, 그룹필터링이면 table.GroupCode in ('GroupA', 'GroupB') 이렇게, 권한필터링이면 table.AuthorCode in ('Admin1', 'admin2')... 권한과 그룹을 같이 적용하는 경우에는 table.GroupCode in ('GroupA', 'GroupB') AND table.AuthorCode in .. 2023. 10. 27.
Data Binding #2 - DataContext와 Binding mode xaml에서 DataBinding을 사용하면, 화면에 표시될 값을 어디선가 가져와야한다. 그 값을 제공해 주는 개체가 필요하고, 그 개체를 DataContext를 이용해 지정해준다고 보면 된다. DataContext의 대상은 ElementName을 통해 xaml에 있는 다른 control을 통해 Binding할수도 있으나, User가 정의한 Class로 Binding하는것도 가능하다.(근데 사실 이 목적이 제일 강하다. WPF에서는 View에 해당하는 xaml에서는 화면에 값을 표시해주는 역할, 사용자의 입력을 Backend( Controller or ViewModel)에 전달해주기만 하면 된다. View는 로직에 관여하지 말고, Controller는 화면에 관여하지 않아야 좋다고 생각. 그리고 Data.. 2023. 10. 20.
IntelliJ Community Edition에서 WAR로 디버깅 실행 원글: https://dhsim86.github.io/web/2017/06/01/intellij_idea_community_tomcat-post.html Dongho Sim's dev story|Intellij IDEA Community Edition에서 external tomcat 실행 Stats: comments dhsim86.github.io 나의 경우 외부 tomcat에서 실행하기 위하여, 구현중이다. jar로 하게되면 내장된 고양이를 쓰겠으나, 외부 환경의 고양이서버를 써야하므로.. war로 패키징을 해야한다. 근데 이전까지는 IntelliJ Ultimate를 썼었다. 이때는 그냥 WAR를 intelliJ에서 실행 프로파일에 추가해 바로 디버깅하는 것이 지원되었다. (역시 인생은 현질인가?) 하.. 2023. 10. 19.
728x90