분류 전체보기 (25) 썸네일형 리스트형 2024.06.03 게시판 검색 1.2 이전 노트검색 1.1 의 문제점1. 검색 조건이 늘어날수록 mybatis xml 에 가 늘어나야 함을 뒤늦게 깨달았다.... 검색 타입을 지정하는 SearchDTO 클래스에 public class SearchDTO{ private String title; private String content;}검색 타입 하나하나가 지정되어 있기 때문이다. - 검색 조건이 늘어날수록 DTO 변수도 계속 추가되어야 한다mybatis 문서(https://mybatis.org/mybatis-3/dynamic-sql.html) 를 볼때 구문이 있었는데 Collection 에 대한 반복처리를 지원하는 구문이라고 한다.당장 드는 생각에는 검색 조건을 Collection 타입으로 받아 각 원소를 mybatis 의 /.. 2024-05-31 게시판 검색 구현 1.1 날짜(yyyy/MM/dd)제목(링크달기)구현정리메모2024.05.31노트 검색 1.1이전 문제점NoteMapper.xml 의 sql 문으로 인해 title 과 content 둘 다 검색해야만 오류가 생기지 않는다.(하나라도 null 일 경우 문제)둘 다 null 값인 경우의 처리검색 조건이 늘어났을때의 수정의 어려움위의 두가지가 저번에 발견한 문제점이다.mybatis sql 수정우선 sql 문을 수정하여 제목 '또는' 내용을 검색할시 검색이 가능하도록 수정하도록 해본다.현재의 mapper.xml 의 sql문 select * from notes where (title like concat('%', #{title}, '%') and content like concat('%', #{conte.. 2024-05-30 게시판 검색기능 구현 시작 1.0 날짜(yyyy/MM/dd)제목(링크달기)구현정리메모2024.05.30노트 검색 1.0현재 노트가 저장되는 database인 notes 라는 테이블의 구조는 아래와 같다.![[스크린샷 2024-05-30 오후 5.36.58.png]]지금까지 정말 기본적인 crud 는 view의 디자인을 제외하고 끝난 상태인데 검색 기능을 추가하려고 한다.검색이라고 하면 딱 떠오르는 조건들이 제목내용작성자정도인데 나는 현재 시점에서는 제목과 내용 검색만 필요하기 때문에 우선 제목과 내용으로 검색하는 기능을 구현 해보기로 했다.가장 간단한 구현방법으로 아래 내용이 떠올라 바로 구현해보았다.검색 조건 dto 만들기mapper 수정 펼치기@Data@ToString@Builder@NoArgsConstructor@AllArgsCon.. 스프링 레거시 프로젝트 초기설정(gradle) 스프링 레거시 프로젝트를 시작하기로 정하고 프로젝트의 초기 설정을 해봤다.아직 책으로 익힌 것에서 크게 벗어나진 못했지만 한번 초기 설정을 나만의 스타일로 규격화할 필요가 있지 않을까 싶어 작성해 본다.(새로 알게 되는 내용이나 틀린부분 계속 수정 예정)우선, 인텔리제이를 사용하여 프로젝트를 생성하였다.프로젝트 생성라이브러리 추가 라이브러리 목록 펼치기 1. spring-core 2. spring-context 3. spring-test 4. spring-webmvc(스프링 프레임워크의 웹 관련 처리 라이브러리) 5. spring-jdbc(Mybatis 이용에 사용) 6. spring-tx(Mybatis 이용에 사용) 7. Lombok 8. Log4j2 9. jstl 10. Hik.. spring legacy 프로젝트 시작 / 수정 2024-06-03 포트폴리오로 뭘 하면 좋을까 고민한 결과, 노트 공유 사이트를 만들고 싶었다. 나는 공부할 때 주로 여러 사이트를 방문하며 이해하고 예제도 보고 하는데, 나중에 다시 보고 싶어서 북마크를 해두면 다시 찾기가 어려운 문제가 있었다. 그리고 여러 사이트의 내용을 합쳐 저장해놓고 싶은 경우가 많았다. 여기에 더해 특정 노트를 여러 사람과 공유하여 여러 명이 작성 + 조회 할 수 있는 사이트를 만들고 싶었다. 이와 비슷한 프로그램이 이미 정말 많은데 스터디 모임과 같은 작은 규모에서 사용할만한 사이트는 찾기 어려워서 만들어 보기로 했다. 이 프로젝트를 진행하며 스프링 레거시 -> 스프링 부트 로 전환하는 과정을 남길 예정이다. 확신은 없지만 스프링 부트까지 얼핏 살펴보았을 때 스프링 레거시를 이해하면 부트에도.. Enum 서블렛으로 웹 프로젝트를 할 때 Service 객체를 Enum으로 생성한 예제가 있어서 Enum에 대해 자세히 정리하기 위해 작성해 본다.Enum이 상수의 집합이라고 대충 알고 있어서 이 부분이 Service 객체의 싱글톤패턴과 관련이 있을 것 같은데, 정확한 이유와 구현 방법을 알고 싶어 공부하게 되었다. 우선 Enum의 정의이다. 오라클 java documentation에서는 아래처럼 정의하고 있다.Anenum type is a special data type that enables for a variable to be a set of predefined constants. The variable must be equal to one of the values that have been predefin.. 의존성 주입 1 현재 스프링 공부를 위해자바 웹 개발 워크북-구멍가게 코딩단 위 책을 읽고 있다. 스프링 공부에 앞서 Eclipse 의 Dynamic Web Project 에 해당하는 웹 프로젝트를 간단히 복습(MVC, PRG, Lombok과 Log4j2 사용법, 데이터베이스 연결, CRUD 테스트 등) 한 후 스프링 공부를 시작했다. 스프링 챕터에 들어오고 나서 가장 처음 나오는 말이 '의존성주입(Dependency Injection - 이하 DI)'인데 국비학원 수업을 들을 때에도 중요하다고 여러번 강조하셨다. 하지만 꼼꼼히 공부하지 않은 나는 '의존성을 가진 객체의 주입을 스프링이 알아서 해준다~' 정도로만 알고 넘어갔다. 당장 구현할 때는 그 이상의 지식이 없어도 구현이 가능은 했다. 하지만 지금은 다르다 나는.. 앞으로 계획 취업 준비를 잠깐이나마 하며 느꼈던 가장 큰 부족함은 기본에 대한 이해였다. 나는 java 도 반쪽짜리, 스프링도 반쪽짜리... 아래는 내가 가장 힘들다고 느꼈던 두 가지이다. 구현하는데 급급하여 '어떻게 구현하고, 왜 그렇게 했는지'에 대한 고민이 없었다. 시작이 잘못된 코드라 기능을 추가하거나 수정할 때 너무 힘들었고, 잘 읽히지도 않았다.프로젝트 관리와 배포에 대한 정보, 이해가 전혀 없었다. 국비를 다니며 '개발의 전반적인 과정을 체험이라도 해보자' 생각하고 배포까지 해보는 게 목표였는데 내 수준에서 6개월이란 시간에 배포까지 하는 건 어림도 없는 일이었다. 사실 전부 기본이 부족하여 생긴 일이다. 그래서 앞으로 뭘 어떻게 공부할지 계획을 세웠다. 공부 목록 java - 기본적인 것들을 다시 .. 이전 1 2 3 4 다음