본문 바로가기

자바6

[업무 자동화] 자바로 엑셀 파일 읽어서 데이터 모으자 매일 같이 우리는 회사에서 엑셀 파일을 이용해 자료를 작성하는데 엑셀파일에서 필요한 부분만 찾아서 모으고 싶을 때 일일이 파일을 열어서 복붙해야하는 노가다를 해야합니다. 그럼에도 스프링이나 JPA를 이용해 엑셀 데이터를 데이터베이스에 저장하고자 했기때문에 자바로 엑셀 파일을 다루는 방법을 공부했습니다. 그래서 이번에 자바를 이용해 엑셀 파일을 읽어 데이터를 수집하는 방법에 대해 정리해보고자 합니다. 그리고 다음과 같은 에러 발생 할때 해결 법도 알아보겠습니다.ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the.. 프로그래밍사업/사이드 프로젝트 2024. 4. 10.
[자바] 날짜를 요일로 바꾸기 날짜를 요일로 바꾸기 파이썬이든 SQL이든 심지어 엑셀에도 날짜관련된 자료형에는 요일을 구하는 기능이 포함되어 있습니다. 이번에는 자바를 이용하여 날짜를 요일로 바꾸는 방법에 대해 알아보겠습니다. 자바8 이상부터는 LocalDate 클래스의 getDayOfWeek() 메서드를 통해 날짜를 요일로 바꿀 수 있습니다. 게다가 숫자가 아닌 FRIDAY와 같이 영어로 나와 더 알기 쉬운거 같습니다. 구현 순서 String 형태의 날짜를 입력한다: "2022-12-8" 또는 "2022-12-08" 한자리 숫자 앞에 0이 들어가냐 안들어가냐에 따라 포맷터가 달라집니다. 포맷터를 설정하기: 2022-12-8로 입력하면 포맷터가 달라집니다. DateTimeFormatter.ISO_LOCAL_DATE 포맷터를 사용하면 .. 프로그래밍사업/사이드 프로젝트 2022. 12. 9.
[스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링 부트 -4탄 Controller와 웹화면 만들기 마지막으로 실제 웹 화면을 보여주는 Controller부분입니다. 이 부분은 자바 뿐아니라 HTML도 어느 정도 알고 있어야되는 부분입니다. 처음 스프링을 공부하기로 마음 먹고서 패스트캠퍼스의 남궁성님의 강의과 인프런의 김영한님의 강의 중에 고민을 많이 했는데 저는 김영한 님의 강의를 선택하였습니다. 그 이유는 1. 무료로 스프링부트가 어떤거구나 알려주는 강의여서 2. 배달의 민족과 같이 대규모 서비스를 구축해본 경험과 실제로 사용하는 것만 가르쳐준다 이 두가지 이유로 김영한님의 강의를 선택하였고, 유료 강의도 두개 이미 결제하였습니다. 아무튼 스프링 부트를 시작하시려는 분들께 저의 포스팅이 조그이나마 도움이 되실기 빕니다. 그럼 마지막 컨트롤러 부분을 시작해보겠습니다. HomeController 만들기.. 프로그래밍사업/사이드 프로젝트 2022. 11. 16.
[스프링 부트 + JPA + MySQL] 간단한 회원관리 예제로 알아보는 스프링 부트 -3탄 Service 만들기 서비스 부분은 앞서 만든 Repository를 이용하여 회원가입, 회원조회 등 실제 서비스를 구현하는 부분입니다. 사실 Repository와 Service부분을 합쳐도 되는거 아니야 라고 생각을 했지만 김영한님의 스프링 강의를 쭉 들어보니 각각의 기능들을 구분하고 분리해놔야 유지보수가 쉽다는 것을 알았습니다. 예를 들어 입문 강의에서 JDBC 템플릿에서 JPA로 바꾸는 과정에서 repository와 service가 합쳐져 있으면 바꿔 끼우는것이 어려웠을텐데 코드 한줄만 바꾸면 쉽게 교체가 되었습니다. 자세한 내용은 인프런 스프링 부트 입문 강의를 들어보시면 알수 있습니다. [무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의 스프링 입문자가 예제를 만들어가.. 프로그래밍사업/사이드 프로젝트 2022. 11. 15.
[스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링부트 -2탄 Repository 만들기 이번에는 DB에서 한 발자국 나아가 Repository를 만들어 보겠습니다. 리포지토리는 DB에 실제 저장, 불러오기 등의 기능을 구현하는 곳입니다. 실제 강의에서는 인터페이스를 이용해서 Memory기반에서 JDBC, JDBC Templete, JPA 순으로 다형성을 이용하여 구현하는 방법을 배웠으나, 저는 JPA만 가지고 구현하고 테스트 코드까지 정리해보겠습니다. 도메인 만들기 도메인은 아마도 MVC 모델에서 M에 해당하는 부분이 아닐까 추측해봅니다. 이 도메인은 우리가 다룰 데이터의 자료형이라고 생각하시면 됩니다. 저장할때도 Member 객체를 만들어서 저장할 것이고, 사용할때도 Memeber 객체를 이용하여 사용할 것입니다. JPA 관련 설정 @Entity: DB 테이블을 매핑 @Id: 이것을 pk.. 프로그래밍사업/사이드 프로젝트 2022. 11. 14.
[스프링 부트 + JPA + MySQL] 간단한 회원 관리 예제로 알아보는 스프링부트 -1탄 DB 설정편 스프링 부트, JPA, MySQL 사용법 정리 겸 김영한's 스프링 입문 강의 후기 기본적인 자바 문법 공부가 끝나가던 중 문법 공부만하는 것은 공부에 도움이 별로 안된다는 것을 파이썬을 공부하면서 느꼈기 때문에 요새 스프링을 공부하고 있습니다. 공부 교재는 인프런의 김영한님이 무료로 공개하신 '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의'를 듣고 제 머릿속에 남기기 위해 정리해보고자 합니다. '스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 강의'는 깊이 있는 내용보다는 가볍게 작은 프로젝트를 구현해보면서 스프링에대한 전반적인 이해와 많은 흥미를 유발하는 강의인것 같습니다. 강의 시간도 제일 긴것이 20분이이고 대부분 10분 내외로 중간 중간 .. 프로그래밍사업/사이드 프로젝트 2022. 11. 14.