본문 바로가기

페이지간 정보 유지( 목록 -> 조회 -> 삭제 -> 원래 목록페이지 ) 특정 게시물 조회 페이지에서 삭제를 했을 때, 삭제 처리 후 다시 원래 보고 있었던 리스트페이지로 이동하고 싶었다. redirect를 이용하여 웹페이지를 이동할 때 RedirectAttributes 클래스의 addAttribute() 또는 addFlashAttribute() 를 이용한다. 그래서 session에 값을 담았다가 한 번 사용되고 나면 자동으로 없어지는 addFlashAttribute()를 이용하여 시도해봤다. 즉,1. readPage.jsp 에서 아래와 같이 form 태그에서 hidden타입으로 page, perPageNum, bno값을 가지고 있는 상태에서( 이 값들은 목록 페이지에서 model에 담아서 넘겨준 값들이다.) 아래의 삭제 버튼을 클릭한다. 2. 그러면 해당 버튼의 클릭 이벤트..
MySQL Join할 때 where, on 차이 사실 where 절과 on은 조건을 명시할 때 사용하는 것으로 용도는 같은데, dbms마다 사용하는 올바른 정책이 조금씩 다른 것 같다. 먼저, join을 이용할 때 두 테이블을 그냥 쉼표로 연결했을 때는 일반적인 쿼리처럼 where절을 이용해도 된다. 그런데 아래처럼 inner join 등 조인의 종류를 명시할 때는 on절을 이용하는게 일반적인 것 같다. 표준이 아니라 일반적이라고 말한 이유는 아래 쿼리 처럼 where 절을 이용해도 에러없이 쿼리 수행이 되기 때문이다. 반면에 두 테이블을 join할 때 쉼표를 이용했을때는 where절로만 조건을 명시할 수 있고 on을 사용하면 쿼리 syntax error가 나게된다.
VM VirtualBox 64Bit Linux 설치 - Oracle VM VirtualBox https://www.virtualbox.org/wiki/Downloads- Ubuntu 다운 ( Ubuntu 16.04 LTS ) http://www.ubuntu.com/download/desktop- Oracle VM VirtualBox 에 64bit Ubuntu 설치 (Oracle VM VirtualBox, Ubuntu 다운 받았다는 가정하에 아래 진행) 사용할 이름 입력, Linux와 Ubuntu(64bit) 선택 가상 머신에서 사용할 램 크기 설정 가상머신에서 사용할 하드 설정 그러면 왼쪽에 ubuntu_show로 만들어진다. 이제 다운로드 받아놓은 ubuntu image를 이용하여 부팅하면된다. 오른쪽>설정 클릭 저장소 탭의 CD모양 클릭 다운로드 받은..
스프링 애노테이션 종류 http://noritersand.tistory.com/156
MySQL join, left join 보통 게시판의 게시글 하나에는 여러개의 댓글이 달린다. 이런 것 처럼 마스터에 달린 디테일의 갯수를 쿼리로 알아보는 예제로, inner join(equi join)과 left join을 알아보자.1. 먼저 마스터 테이블을 생성한다. 2. 디테일 테이블을 생성한다.3. 마스터 테이블과 디테일 테이블은 masterId 컬럼으로 서로 엮어져있다. 즉, 디테일 테이블의 masterId 컬럼은 마스터 테이블의 masterId컬럼을 참조하는 형태이기 때문에 외래키 제약조건을 추가해준다. 4. 그리고 마스터 테이블에 값을 다음과 같이 넣어줬다. 5. 디테일 테이블 또한 값을 넣어줬다. 이때, masterID가 5인 것에는 detailId가 없도록 예외를 뒀다. ( 즉, masterId가 5인 것에는 달린 디테일이 없..
MySQL auto_increment 현재값 - last_insert_id()를 사용하여 auto_increment 컬럼의 마지막 값 즉, 현재 값을 가져올 수 있다. - MySQL에서 문자열을 합칠 때 concat(문자열 1, 문자열 2)를 이용한다. 그래서 다음과 같이 '마스터이름+auto_increment 값' 로 합쳐보도록 해봤다.
Spring 게시글 CRUD 1. 게시글의 TITLE을 클릭하면 해당 게시글을 조회할 수 있도록 링크를 걸어준다. 1-1. 그러면 컨트롤러에서 @RequestParam을 이용해서 요청으로 들어온 bno를 읽어온다. 그리고 해당하는 게시글을 DB에서 가져와 Model객체에 담아준다. 2. 그러면 화면에 해당 게시글 정보를 뿌려주면 되는데, 이때 조회 페이지다보니까 읽기 전용이어야 한다. 따라서 각 에 readonly속성을 추가해준다. 이때 중요한게 조회페이지에서 추후 삭제나 수정을 처리할 때 bno값을 넘겨주어야 한다. 근데 딱히 조회페이지에서는 bno를 보여줄 필요는 없기 때문에 hidden 타입으로 갖고 있고 버튼을 누를 때 이 값이 보내지도록 from 태그로 감싸놓는다. 수정, 삭제, 그리고 다시 모든 리스트조회 페이지로의 이동..
Spring 페이지 무한스크롤 구현한 결과부터 보면 ( 기능에 초점을 뒀다.. 매끄럽지는 않다. ) 구현 과정 1. 먼저 최초에 미리 정한 뿌려줄 갯수인, 20개의 게시물 리스트를 띄워준다. 경로는 /board/listAll 1-1. 쿼리는 MySQL에서 제공하는 'limit 시작, 몇개까지' 를 이용해서 20개를 뿌려주도록 한다.1-2. (Mapper를 호출하는 DAO클래스, dao를 호출하는 Service 클래스는 생략하고, ) 컨트롤러에서 이 20개의 데이터를 DB로부터 받아와서 Model객체에 list라는 키 값으로 담은 후, View로 보낸다. 이때 메소드의 리턴 타입이 void이므로 해당경로 즉, board/listAll.jsp를 렌더링 하게된다.1-3. 그러면 listAll.jsp에서는 jstl의 c:forEach문을 이..