본문 바로가기
728x90
반응형

개발자 전향 프로젝트93

Querydsl + Spring 3.0 + Java17 업데이트 내용! [Maven+Gradle] Maven을 사용하고 QueryDSL을 사용했다면 기존 아래와 같이 사용했던 apt-maven-plugin 설정이 있을 것이다. com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor 하지만 스프링 3 버전, Java 17버전 이후로부터 javax가 jakarta로 넘어가면서 위와 같은 Plugin은 deprecated 되고 말았다. 해서 이제는 아래와 같이 classifier를 직접 추가해줘야 하고 플러그인은 일절 사용하지 않는다. 아래 GitHub QueryDSL 공식페이지에 어떤 사용자가 질문한 내용에 대한 답변을 참고하였다. 즉, pom.. 2022. 12. 20.
[JAVA] JPA 활용법 -2 (QueryDSL 활용해보기) https://samori.tistory.com/52 [JAVA] JPA 활용법 -1 (QueryDSL 적용해보기) QueryDSL이란? Spring Boot Data JPA 는 쿼리문을 직접 짜지 않아도 함수명만 알맞게 적어주면 쿼리를 자동으로 짜주는 ORM으로 유명한데 사실상 조금만 복잡하고 동적인 쿼리를 짜려고만 해도 JPQL등을 samori.tistory.com 지난 글에 이어 오늘은 QueryDsl을 활용해서 기본적인 조회와 수정을 진행해보려고 한다. 첫번 째로 구현하려고 하는 로직은 사용자가 입력한 값을 토대로 DB에 접속하여 일치하는 데이터를 조회하는 작업이다. JPA 기준으로 DTO를 설정해주고 예시 @Getter @Setter @Entity @Table(name = "테이블명") publ.. 2022. 12. 6.
자주 쓰이는 Ajax 활용법 - 부분 갱신 feat.@ResponseBody 클라이언트는 서버에 다양한 요청을 날리게 되고 서버는 그러한 요청이 올바른 요청인지 확인을 거치고 응답을 하게 된다. 이러한 요청과 응답이 세트로 일어날 때 크게 두가지 방식으로 진행되는데 하나는 동기이고 하나는 비동기이다. 동기는 화면이 갱신된다는 특징이 있고 비동기는 화면 갱신 없이, 즉, 새로고침없이 응답을 페이지에 노출시킬 수 있다는 특징이 있다. 그리고 새로고침없이 응답을 view에 뿌려주는 작업을 해주는 대표적인 자바스크립트 라이브러리가 Ajax이다. Ajax 는 Asynchronous Javascript And Xml의 약자이다. JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술인 셈이다. 이 Ajax를 사용하는 이유는 단순히 view단에 뿌려줄 .. 2022. 11. 21.
[마이바티스+오라클] 검색할 때 종종 막히는 바인딩 변수 오라클 DB와 MyBatis 를 사용하면서 검색 로직을 구현하려고 하면 어떻게 사용자가 입력한 값을 파라미터에 담아 매퍼에 넘기고 매퍼가 그걸 어떻게 받는지 어떻게 대소문자 구분 없이 (Case Insensitive) 값을 찾게 설정하는지 어떻게 파라미터를 포함하는 모든 값을 조회할 수 있게 % 를 넣을 수 있는지 요 3가지를 주로 고민하게 된다 오늘은 초보자들이 이러한 고민의 해답을 다른 블로그에서 찾기가 어려워서 이 글에서 쉽게 설명해볼까 한다. 먼저 컨트롤러에서 서비스로 제대로 호출했다고 가정하고 서비스는 아래와 같이 진행되어야 한다. public List findBySearchValue(파라미터 타입 파라미터 이름) { // Map으로 파라미터를 담아서 보내주는 방법 Map 참조변수 = new H.. 2022. 11. 7.
프레임워크와 라이브러리의 차이가 뭔가요? [ 면접 질문 ] 보통 A 와 B 의 차이가 뭔지 묻게 되면 이 둘이 굉장히 다른 것이라는 착각을 할 수 있는데 애초에 프레임워크와 라이브러리는 상당히 유사합니다. 그래서인지 사람들이 쉽사리 그 차이점을 말하기가 어려운 것이죠. 오늘은 이 둘의 공통점은 무엇이고 차이점은 무엇인지 알아보겠습니다. 먼저 이 둘의 공통점은? 지구 어딘가 이타적이고 뛰어난 개발자들이 특정 목적을 위해 어렵게 구현해낸 로직을 어떠한 이유에서인지 배포한 것입니다. 이를 통해 전세계의 사람들이 스스로 로직을 짜지 않고 올려져있는 로직을 쉽게 받아서 사용할 수 있게 됐습니다. 예를 들어 요리를 못하는 자취생이 누군가 만들어놓은 밀키트를 통해 집에서 쉽게 손이 많이 가는 요리를 간편하게 해먹을 수 있는 것과 비슷합니다. 바로 이것이 프레임워크이와 라이브.. 2022. 10. 29.
[SpringBoot Data JPA] 중복은 있을 수 없어 -1 어떠한 정보를 DB에 저장하고 싶을 때 여러 가지 방법으로 중복체크를 할 수 있지만 그중 나름 간단하면서도 쉬운 방법은 form을 submit 할 시 중복체크를 하는 것이다. 그렇게 하기 위해서는 일단 자바스크립트 단에서 form의 값을 받아서 ajax를 통해 컨트롤러에 전달해야 한다. 아래는 샘플 코드이다. 필자는 기본 alert 대신 SweetAlert2라는 라이브러리를 사용했다. 1. 데이터 추가/수정 관련 자바스크립트 var 넣을 값을 담은 변수 = { 넣을 값 }; $.ajax({ type: "POST", url: "/URL 경로", data: 넣을 값을 담은 변수, success: function (data) { if (data === 1) { Swal.fire({ icon: 'success'.. 2022. 10. 26.
[JAVA] JPA 활용법 -1 (QueryDSL 적용해보기) QueryDSL이란? Spring Boot Data JPA 는 쿼리문을 직접 짜지 않아도 함수명만 알맞게 적어주면 쿼리를 자동으로 짜주는 ORM으로 유명한데 사실상 조금만 복잡하고 동적인 쿼리를 짜려고만 해도 JPQL등을 통해 쿼리를 직접 짜야하는 불상사가 발생하고 만다. 이러한 불편함을 줄여주고자 자바만 알아도 쿼리를 대신 짜주는 프레임워크가 있는데 이를 QueryDSL 이라고 부른다. 쿼리가 아니라 자바 기반이라서 컴파일 시점에 오류 발견이 가능하고, 자동완성도 지원하여 실무에서도 많이 사용되고 있다. 필자도 QueryDSL을 사용해보고 싶었지만 진입장벽이 있는 것 같아서 망설이다가 블로그에 글을 쓸 핑계로 공부를 해보고 알아낸 내용을 공유해보려고 한다. 1. 개발환경 맞추기 1-1 generate .. 2022. 10. 24.
728x90
반응형