페이징을 구현하기 위해 먼저 페이징 VO를 만들어 줬다. 위처럼 6개의 필드를 생성해줬다. 위에 VO는 공통 VO이다. 각 페이지마다 페이징이 다르기 때문에공통으로 뺀 후 아래처럼 다른 VO에서 CmmnVO를상속받아 사용하게 했다. 이제 게시글 리스트 커맨드를 보자. (page 값의 출처는 맨 아래에 있다)화면단에서 넘어온 "page"를 받아 parsePage에 넣은 후 null값이면 1을 넣어줬는데 게시판의 현재 위치한page에 값이 없다면 1페이지로 이동할 수 있게하기 위함이다.다음 CmmnVO에서 page를 long으로 선언했기 때문에String형은 parsePage를 long으로 형변환 시켜줬다. 다음 ArrayList의 PagingList를 만들어 줬다. BoardDto에는 게시글에 들어갈글 번..
JSP를 이용해 페이징을 구현해보자. 여기서 내가 말하는 JSP를 이용한 페이징은JSP와 오라클DB만을 이용한 페이징이다.스프링과 MyBatis를 사용하지 않았다. 인터넷에 JSP 페이징을 검색해보면대부분이 mysql을 이용하거나DB를 사용하지 않거나 혹은스프링, MyBatis등을 이용한 글 밖에없다. 때문에 이 글을 내 블로그에 포스팅하여JSP를 공부하는 많은 사람들에게도움이 됐으면 좋겠다. JSP 페이징을 만들때 페이징 소스는내가 9개월 전에 올렸던 SPRING 에서 Mybatis를이용한 페이징 구현하기 글을 보면서작업했다. (스프링 페이징 게시글)http://rwd337.tistory.com/83?category=650717 페이징에 대한 로직 설명은위 게시글 링크에 들어가서 확인할 수 있다. JS..
Oracle JDK와 OpenJDK의 차이점에 대한 글을 퍼왔다. 한번 읽어보는것도 나쁘지 않을것 같다. 출처: (http://jsonobject.tistory.com/395) ================================== Oracle JDK 와 OpenJDK -JAVA 애플리케이션을 실행하기 위해서는 JVM이필요하고 컴파일하기 위해서는 JDK가 필요하다.일반적으로 JDK를 설치하면 JVM도(Hotspot 이라고도 표현, JAVA 기술의 핵심)함께 설치된다. -JDK는 2개 버전으로 나뉜다. 하나는 폐쇄적인 상업 코드 기반의Oracle JDK이고 하나는 오픈 소스 기반의 OpenJDK이다. -둘 간의 큰 차이라면 Oracle JDK는 OpenJDK에는 없는 재산권이걸린 플러그인을 제공한다..
게시판의 댓글 쿼리가 마리아DB쿼리로 되어있어 이 쿼리문을 오라클쿼리로 바꿨다. 처음에 난 저 쿼리문을 오라클 쿼리로 따로바꿔줘야 되는지 몰랐다.. 위 쿼리문은 댓글을 Insert하는 쿼리인데댓글을 get하는 쿼리문에서 repNo값이 계속null로 나와 오류가 났다. 내가 사용하고있는프로젝트와 위 마리아DB를 사용한 프로젝트가 달라오류 찾기가 어려웠다. 변수명과 컬럼명이 다 달랐기 때문에난 당연히 컨트롤러 쪽이나 뭐 어디선가 내가 오타를 낸줄 알고계속 찾았는데 1시간동안 해결도 못하고 멍때리고 있는순간 갑자기 jqgrid사용했을때 쿼리문에서 keyProperty를 사용한것이떠올랐다. 바로 구글에 검색을 해보니 마리아DB/Mysql 이랑오라클에서 keyProperty를 사용할때 문법이 다르다고 한다... ..
요즘 MariaDB 쿼리를 오라클 쿼리로 바꾸면서배우는게 많은것 같다.이번엔 MariaDB에서 ON DUPLICATE KEY 를 오라클에서사용하기위해 바꿔 보겠다. 먼저 내가 바꾸려고 했던 MariaDB를 보자대부분 ON DUPLICATE KEY 를 사용하기 위해선아래와 구성이 비슷할 것이다. ON DUPLICATE KEY 에 대한 구성과 기능을 알아보자. INSERT INTO로 favorite 라는 테이블에 데이터를 삽입하려 한다.hno, member_nm 이라는컬럼에 VALUES로 파라미터값 #{hno}, #{memberNm}의 값을 넣는다. 이때 hno와 member_nm에 이미 값이 들어있다면ON DUPLICATE KEY 가 쓰이게 된다. ON DUPLICATE KEY 를 사용하여 만약 INSER..
게시판 댓글 기능에서 댓글은 해당 작성하고 있는게시글의 번호를 가지고 있어야 한다. 즉, 게시글 번호가 3번인 게시글에 댓글을 달려면 이 댓글은 게시글 3번 값을 가지고 있어야 한다. 보통 게시판 기능과 댓글 기능의 테이블은서로 다르다. Board 라는 게시판 글 작성테이블이 있다면 Board_Reply 라는 게시글의 댓글을작성하는 테이블이 있어야 한다. 게시글 번호의 컬럼이 hno라고 생각해보자.이 컬럼이 있는 테이블은 Board 가 될것이고, Board_Reply테이블에서는 hno 값을 가지고 있어야하기 때문에 외래키를 사용할 수 밖에 없다. 먼저 HeidiSQL 에서는 외래키 설정이 쉽다. 위처럼 그냥 메뉴탭에 외래키 설정이 있다왼쪽에 +추가 버튼 누르고 참조하려는 테이블과컬럼을 적어주면 된다. s..
어제 MariaDB로 만들어진 페이징이랑, 게시판 댓글 쿼리들을오라클 쿼리들로 바꿨다. 마이바티스에서 사용하는쿼리들은 바꾸는데 어렵지 않았다. (어차피 쿼리는 그게그거이기 때문에...)그런데 시퀀스랑 외래키 설정 때문에 시간을 얼마나버렸는지 모르겠다. 먼저 외래키 설정은 어렵지 않으니다음 포스팅에서 따로 알아보겠다. MariaDB를 편하게 사용 하기위해 개발툴을 HeidiSQL을썼다. 거기서 기본키로 설정된댓글에 번호 메기는 rep_no 라는 컬럼을 기본값으로AUTO_INCREMENT 줬다. 이것이 문제의 근원이다. 먼저 AUTO_INCREMENT 에 대해 알아보면오라클에서의 시퀀스다 값이 생성 될 때 마다 1씩 증가 시켜준다.즉 댓글 번호를 가르키는 rep_no 라는 컬럼이한번 생성 즉, 댓글이 한번 ..
혼자 웹 공부를 하면서 난 항상 오라클만 써왔다. 그런데 최근 어쩌다보니 MariaDB를 사용하게 됐는데일단 MariaDB에 대해 알아보자. MariaDB는 오픈소스의 관계형 데이터베이스 관리 시스템이다.오라클과 MySQL 등과같은 RDBMS다.MariaDB는 MySQL과 동일한 소스 코드를 기반으로하며GPL v2라이센스를 따른다.오라클 소유의 현재 불확실한 MySQL의 라이센스 상태에반발하여 만드어졌으며 배포자는 몬티 프로그램AB와 저작권을 공유해야한다. 이것은 MySQL과 높은 호환성을 유지하기 위함이며MySQL API와 명령에 정확히 매칭하여, 라이브러리 바이너리와상응함을 제공하여 교체 가능성을 높이고자 함이다.마리아DB에는 새로운 저장 엔진인 아리아 뿐만 아니라,InnoDB를 교체할 수 있는Xtr..