본문 바로가기

728x90
반응형

Web

(36)
맨땅에 JPA - QueryDSL Database 조작2 자 이제 이어서 앞서 얘기한 QueryDSL을 위한 Interface 및 구현 클래스를 만들어보자. 이전 포스트를 못 본 사람이라면 https://thecardeveloper.tistory.com/30 맨땅에 JPA - QueryDSL Database 조작1 이번 포스트에선 앞선 두 포스트로 만들어진 QClass를 사용하여 Database를 조작을 준비해 보겠다. (여기서 조작은 쉽게 CRUD를 얘기한다.) 우선 Entity와 QClass까지 생성이 됐다면 이번엔 Repository를 생 thecardeveloper.tistory.com 앞서 그린 그림을 보면 우리가 지금 해야할 작업은 CommonCodeQueryRepository라는 Interface를 생성해야한다. (애초에 Entity 이름을 좀 짧..
맨땅에 JPA - QueryDSL Database 조작1 이번 포스트에선 앞선 두 포스트로 만들어진 QClass를 사용하여 Database를 조작을 준비해 보겠다. (여기서 조작은 쉽게 CRUD를 얘기한다.) 우선 Entity와 QClass까지 생성이 됐다면 이번엔 Repository를 생성해야 한다. *JPA Repository란 Spring Data JPA에서 제공하는 JPA 구현을 위한 인터페이스이다. 우리는 이 인터페이스를 상속하여 이미 정의된 메소드를 사용해 Database를 조작할 수 있다. 본인의 프로젝트에 적당한 경로에 Interface를 하나 생성 해주자 이렇게 만들어진 Interface에 2가지 작업을 해주자 1. @Repository 어노테이션 추가 2. extends JpaRepository로 JpaRepository 상속 여기서 JpaR..
맨땅에 JPA - Entity와 QClass 이전 포스트에선 JPA 기본 설정들을 알아보았다. https://thecardeveloper.tistory.com/28 맨땅에 JPA - 설정 이번 포스트부터 JPA를 한 번 다뤄보려 한다. 본인도 아직 강의를 듣거나 학습을 우선적으로 진행한 것이 아니라 실제 개발을 하면서 그냥 한 번 부딪혀 본 것이기 때문에 정확한 정보 전달보다 thecardeveloper.tistory.com 이번에는 설정 이후 사용해야 하는 QClass와 Entity를 알아보겠다. 먼저 QClass를 생성하려면 Entity 객체가 존재해야 한다. Entity에 대해 알아보자. Entity란 쉽게 생각하면 Database 테이블에 대응하는 하나의 클래스이다. 코드로 살펴보면 위와 같이 CommonCodeGroup이라는 Entity ..
맨땅에 JPA - 설정 이번 포스트부터 JPA를 한 번 다뤄보려 한다. 본인도 아직 강의를 듣거나 학습을 우선적으로 진행한 것이 아니라 실제 개발을 하면서 그냥 한 번 부딪혀 본 것이기 때문에 정확한 정보 전달보다는 개인적인 일지로 기록해보려 한다. 우선적으로 JPA를 본인 프로젝트에 적용하기 위한 설정을 알아보자. 본인의 기본적인 개발 환경은 - Spring boot - IntelliJ - Java - Mssql - gradle 이렇게 되어있다. 원래는 Mybatis를 사용했으나 JPA로 변경해 보려 한다. JPA를 사용하면 거의 당연스럽게 따라오는 것이 QueryDSL인 것 같다. 그래서 설정 방법을 같이 알아보자. 1. build.gradle 파일 implementation "com.querydsl:querydsl-jpa..
JavaMailSender란 녀석을 만났다. 프로젝트 진행 중 메일 전송 로직을 개발 해야만 했다. 문자 서비스, 알림톡 서비스와는 다르게 메일 서비스는 무료로 사용 할 수 있는 거 같다. (이메일을 보내는데 우리가 비용을 지불하지 않지...) 그리고 고맙게도 JAVA에선 이미 메일을 보낼 수 있게 개발 해놓은 인터페이스가 존재하는데 그것이 바로 'JavaMailSender' 이다. ****JavaMailSender를 이용해서 메일 전송 로직을 개발하려면 사용하는 메일 사이트에서 선 작업이 필요한데 본 글에선 생략 하겠다. 본인은 구글 메일 gmail을 사용하였다. 개발 환경 : spring, gradle 자 그럼 코딩을 시작해보자. 1. build.gradle에 implementation 시켜줘야한다. // JavaMailSender implem..
IntelliJ 로컬서버와 실제 운영서버 소스코드 비교/수정/반영(Deployment) 어느덧 이클립스에서 인텔리제이로 넘어온지 2년 정도가 되어간다. IntelliJ에서 제공하는 기능을 그래도 어느정도 사용하고있다고 생각했는데... 또 다시 새로운 녀석을 만나게 되었다. 그녀석이 바로 Deployment 기능이다. 어느날 현재 운영중인 실서버에 올라가있는 소스코드중 정적페이지에 오타를 발견하였다. 본인이 처리한 과정은 putty, Git bash와 같은 프로그램을 사용해서 리눅스에 접속하여 직접 소스코드 파일을 찾아들어가 오타를 수정하는 방식이었다. 정적페이지 html, jsp와 같은 페이지는 톰캣 재시작 없이 바로 수정이 가능했기에 이런 방식을 선택했다. 하지만 수정을 하는 과정에서 소스코드의 위치를 찾아들어가야하는 번거로움을 느꼈다. 이번에는 그저 오타 하나였지만 만약에 수정할 것들이..
Arrays.sort() 배열 순서 정리하기 프로젝트 진행중에 배열의 순서를 정리해야하는 상황을 만났다. 배열 순서를 정렬할 때는 여러 상황이 있는데 오늘은 오름차순, 내림차순, 앞뒤비교를 알아보자. - 우선 오름차순은 가장 간단하다. Arrays.sort() 함수를 사용하면 된다. int[] arr = {2, 30, 11, 21, 9, 8, 100}; Arrays.sort(arr); System.err.println("Sorted arr[] : " + Arrays.toString(arr)); Sorted arr[] : [2, 8, 9, 11, 21, 30, 100]; 위와같이 아주 간다하게 정렬을 할 수 있다. 자료형이 String[]이라도 가능하다. - 다음 내림차순 정렬이다. 내림차순 정렬은 Collections.reverseOrder() 를..
Spring boot에서 mybatis mapper location 설정 아이디어가 생기면 언제든 개발에 들어가기 위해 간단한 테스트 프로젝트를 기본 셋팅을 해보는데... 셋팅 중에 '내가 정말 지금까지 Spring boot를 제대로 사용하지 못했구나'라고 생각들게 한 정보가 있어 공유해보려 한다. 지금까지 본인은 새로운 Spring boot 프로젝트를 셋팅할 때 mybatis를 사용했는데 mybatis를 사용하려면 프로젝트 내에 mapper 파일 위치를 셋팅을 해줘야한다. 헌데 지금까지 본인은 mapper 위치를 등록하기 위해서 TransactionConfig.java 파일을 생성해서 @Bean public SqlSessionFactory mainMybatisSqlSessionFactory( @Qualifier("mainDataSource") DataSource mainDa..
intelliJ 에서 서버 재시작 없이 jsp 적용하기 프로젝트를 진행하다보면 jsp를 수정 할 일이 생기는데 그 때마다 서버 재시작을 해야하는 번거로움이 생긴다. 오늘은 서버 재시작 없이 새로고침만으로 jsp를 반영하는 방법을 알아 번거로움을 해결 해보자. 본인이 아는 방법은 2가지가 있다. 첫번째. tomcat 설정 변경하기 위 이미지와 같이 Edit Configurations을 클릭하면 나오는 창에서 On 'Update' action 과 On frame deactivation 항목을 Update classes and resources 로 변경해주면 된다. 두번째. Spring Boot 설정 변경하기 - maven 프로젝트 기준 pom.xml 종속성 추가 org.springframework.boot spring-boot-devtools 2.2.1.RELE..
intelliJ에서 Spring boot 프로젝트 생성하기 점점 본인은 개발 환경 방향성이 intelliJ와 Spring쪽으로 가고 있는듯하다. 그래서 프로젝트에 가장 기초인 프로젝트 생성을 한 번 처음부터 진행 해보았다. (정말 흔히 얘기하는 Create New Project는 처음인 거 같다...) 먼저 intelliJ 처음 화면에서 New Project를 선택한다. 좌측 탭에서 Spring Initializr를 선택하고 본인에게 맞는 설정들을 선택 해주면 된다. Name - 프로젝트 이름 Location - 프로젝트 저장 경로 Language - 개발 언어 Type - 사용할 종속성 종류 Artifact - 산출물 이름 Package name - 말그대로 패키지 이름 Project SDK - 소프트웨어 개발 키트 Java - Java version Pack..
cmd에서 JAVA 컴파일 및 class파일 실행(라이브러리 함께) 프로젝트 진행 중 셋팅이 전혀 돼있지 않은 pc에서 java파일을 실행해야하는 경우가 생겼다. 여기서 본인이 말한 셋팅은 java, 톰캣, framwork, 라이브러리 등등 어떠한 것도 설치 되어있지 않았다. 먼저 PC에 JAVA를 설치했다. 어찌됐든 JAVA로 작성한 기능이기 때문에 JAVA는 필수적으로 필요했다. 준비과정 JAVA설치는 이전 글을 참조 바랍니다. https://thecardeveloper.tistory.com/19 JAVA 설치 및 환경변수 설정 본인 생각에는 개발에서 가장 기본 기초라고 말 할 수 있는 것이 언어라고 생각한다. '자신이 개발을 시작할 때 어떠한 언어를 사용하여 개발을 할 것인가' 나는 많은 언어들 중 현재는 JAVA를 thecardeveloper.tistory.com..
JAVA 설치 및 환경변수 설정 본인 생각에는 개발에서 가장 기본 기초라고 말 할 수 있는 것이 언어라고 생각한다. '자신이 개발을 시작할 때 어떠한 언어를 사용하여 개발을 할 것인가' 나는 많은 언어들 중 현재는 JAVA를 선택했다. (언제 어디서 사용할 언어가 바뀔지 모른다.) 그럼 이제 선택한 언어 JAVA를 설치 해보겠다. 자바 설치 아래 오라클 링크 : https://www.oracle.com/java/technologies/downloads/ 사진 설명에 나와있듯이 본인이 사용할 버전 및 os를 선택해서 다운로드 하면 되겠다. (본인은 18에 windows에 exe 파일을 다운 받았다.) 이후 다운로드 된 폴더에서 jdk-18_windows-x64_bin.exe 파일을 실행 시킨다. Next Next 다음 성공적으로 설치됐다..

728x90
반응형