본문 바로가기
728x90
반응형

Spring6

[JAVA] JPA 활용법 -3 (QueryDSL 활용해보기) + 기본 문법 https://samori.tistory.com/58 [JAVA] JPA 활용법 -2 (QueryDSL 활용해보기) https://samori.tistory.com/52 [JAVA] JPA 활용법 -1 (QueryDSL 적용해보기) QueryDSL이란? Spring Boot Data JPA 는 쿼리문을 직접 짜지 않아도 함수명만 알맞게 적어주면 쿼리를 자동으로 짜주는 ORM으로 유명한데 사 samori.tistory.com 지난 글에 이어 오늘은 QueryDsl을 활용해서 기본적인 생성과 삭제를 진행해보려고 한다. 지난 글에도 언급했지만 QueryDSL은 INSERT를 자체적으로 제공하고 있지 않아서 EntityManager을 이용해야 한다. VIEW단에서 Controller에 Form을 통해 값을 전달.. 2022. 12. 9.
[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.
[Spring Boot] 페이징이 어렵다고? 이렇게만 하세요 일단 VIEW 는 본인이 사용중인 템플릿에 아래 코드를 복붙한다 CONTROLLER @GetMapping("/아까 그 URL") String pagingList(Model model, Pageable pageable) { Page p = null; p = 사용하는서비스.findPagingList(pageable, "idx"); int totalPage = p.getTotalPages(); int nowPage = p.getPageable().getPageNumber() + 1; int startPage = Math.max(nowPage - 4, 1); int endPage = Math.min(nowPage + 4, p.getTotalPages()); model.addAttribute("boardList".. 2022. 9. 24.
[Spring Boot] 세상 쉬운 검색창(검색 로직) 만들기 1-1 (View) 웹페이지하면 검색창 없는 곳이 드물정도로 검색창이 많은데 이 검색창 구현이 생각보다 엄청 쉽다는 것을 개발을 처음 접한 사람들은 모를 수 있다. 바로 구현해보자. 1. View단에서 텍스트를 입력할 수 있는 INPUT 태그를 만든다. 1-1. 위 INPUT 태그에 사용자가 입력한 값을 컨트롤러에 보낼 수 있도록 Form으로 감싸준다. ... 1-2. Submit 역할을 하는 버튼을 만들고 응용하고 싶다면 이를 검색이라는 텍스트 대신 아이콘으로 대신한다. 검색 1-3. [ 응용 ] 아이콘을 누르지 않고 그냥 엔터를 쳐도 값이 전달되도록 한다. function enterkey() { if (window.event.keyCode == 13) { document.getElementById("폼 ID").subm.. 2022. 9. 24.
[Spring] 객체지향 설계 5 원칙 SOLID란? feat.클린코드 객체지향 설계의 핵심은 자고로 응집도는 높고 결합도는 낮은 프로그램을 설계하는 것이다. 그렇다면 응집도는 무엇이고 결합도는 또 무엇일까? [ 응집도(Cohesion) ] 한마디로 내부 요소들의 연관성이다. 예를 들어 하나의 클래스에서 함수(method)와 변수가 통일된 목적을 가지고 연관되어 있다면 응집도가 높은 것이고 이 함수는 이 변수에 저 함수는 저 변수에 뒤죽박죽이라면 그 클래스는 다양한 목적이 있는 클래스가 되고 목적을 기준으로 더 쪼개질 수 있으므로 단일 목적으로서의 응집도가 낮다고 할 수 있다. 더 쉬운 예시: 메뉴가 하나뿐인 오래된 음식점을 생각해보자. 그 음식점의 모든 내부 요소들은 그 하나의 메뉴를 만드는 것이라는 목적으로 똘똘 뭉쳐서 연관성이 매우 높을 것이다. 반면 메뉴가 여러개인 .. 2022. 9. 21.
MyBatis vs JPA 기본 배경: MVC패턴을 안다면 MODEL이 DB에 접속하는 것 또한 알 것이다. 그렇다면 DB에 접속하기 위해서는 뭐가 필요할까? 바로 JDBC이다. JAVA로 DB에 CONNECT 하겠다는 것이다. 그렇다면 이 JDBC를 사용하면 되지 왜 MyBatis 나 JPA같은걸 쓰는걸까? 이유는 간단하다. JDBC가 귀찮고 복잡하기 때문이다. 그래서 개발자들끼리 이 귀찮고 복잡하고 어려운 JDBC를 조금 더 쉽게 사용할 수 있는 방법이 없을까? 매번 고생하지 말고 JDBC 형식을 미리 만들어놓고 새 프로젝트를 할 때는 그 형식에 값만 넣으면 어떨까? 해서 나온 것이 MyBatis다. MyBatis 를 통해 초반에 좀 번거럽지만 설정파일과 매퍼를 만들어 놓고 경로 설정을 해두면 그 매퍼에 형식에 맞춰서 쿼리문만.. 2022. 8. 26.
728x90
반응형