이제 게시글의 수정과 삭제에 대해 알아보자.게시글의 수정과 삭제버튼은 보통 게시글을상세볼수있는 페이지에 위치한다 또한 다시 목록으로 갈수있도록"목록으로" 버튼도 존재한다. 일단 상세보기 페이지에서목록으로, 삭제, 수정 버튼을 만들어주자. 이제 스크립트단안에 detailForm이라는 클래스를하나 만들어준다음 버튼이 눌려질때마다 각 컨트롤러로 이동될수 있도록 해주자. 다음 상세보기 페이지에서 form태그에 id값을 달아준다음. form태그가 submit될때글 번호도 같이 submit될수 있도록input태그를 사용해 글번호를 적어주자.화면상에 보여질 필요는 없으니 타입을 hidden으로 주자. 이제 컨트롤러에서 글수정 form 을 위한 맵핑을 시켜준다음 글수정 폼으로 갈수있도록 리턴해주자.boardServic..
이번엔 게시글 상세보기를 만들어보자 게시글 상세보기는 보고싶은 해당 게시판의로우를 클릭하면 글의 상세내용을 볼수 있도록 하는기능이다. 먼저 로우 클릭을위해 리스트를 보여주는 jsp화면단에서tr태그를 만들어주고 그안에 rowClick클래스를 넣어주자. 다음 스크립트단을 아래와 같이 만들어주자. rowClick를 클릭할때 function이 실행되며제이쿼리를 이용해 this타겟을(tr) 잡고 children을(td) 이용해 바로밑의자식노드의 값을 가져와 boardno에 저장한다. 이제 실행을 한다음 게시판 리스트에서 상세보기를 하려는 글의 로우를 클릭하면 위와 같이 alert이 뜨며 위에서 제이쿼리 타겟으로 잡은값인boardno 의 값이 alert창으로 출력된다. 이제 BoardVO를 만들어주자. VO안에는 ..
게시판의 댓글 쿼리가 마리아DB쿼리로 되어있어 이 쿼리문을 오라클쿼리로 바꿨다. 처음에 난 저 쿼리문을 오라클 쿼리로 따로바꿔줘야 되는지 몰랐다.. 위 쿼리문은 댓글을 Insert하는 쿼리인데댓글을 get하는 쿼리문에서 repNo값이 계속null로 나와 오류가 났다. 내가 사용하고있는프로젝트와 위 마리아DB를 사용한 프로젝트가 달라오류 찾기가 어려웠다. 변수명과 컬럼명이 다 달랐기 때문에난 당연히 컨트롤러 쪽이나 뭐 어디선가 내가 오타를 낸줄 알고계속 찾았는데 1시간동안 해결도 못하고 멍때리고 있는순간 갑자기 jqgrid사용했을때 쿼리문에서 keyProperty를 사용한것이떠올랐다. 바로 구글에 검색을 해보니 마리아DB/Mysql 이랑오라클에서 keyProperty를 사용할때 문법이 다르다고 한다... ..
오랜만에 전자정부프레임워크 카테고리에글을 쓰는것 같다. 요즘 블로그에 개발Tip, 취업Tip 카테고리에만글을 써서 정작 중요한 기능관련 글을 안쓴것 같다 라는 생각이들어전자정부프레임워크를 사용해 게시판 만드는 글을 포스팅 해야겠다!! 먼저 게시판 하면 떠오르는 것은 CRUD 이다.(개인적으로)아마 웹 개발 쪽으로 공부를 하거나 취업을 준비하고 있다면CRUD, RESTful 을 들어봤을 것이다.(RESTful 관련 포스팅은 추후에 하겠습니다). CRUD는 Create, Read, Update, Delete 의 앞글자를 딴 것이다. 보통 취업 준비를 위해 국비를 다니거나, 혼자 공부를 하며웹 을 하나 만들면 게시판은 거의 무조건적으로 들어가 있을것이라 생각한다. 왜냐하면 게시판 기능이 그만큼 중요하기 때문이..
게시판 댓글 기능에서 댓글은 해당 작성하고 있는게시글의 번호를 가지고 있어야 한다. 즉, 게시글 번호가 3번인 게시글에 댓글을 달려면 이 댓글은 게시글 3번 값을 가지고 있어야 한다. 보통 게시판 기능과 댓글 기능의 테이블은서로 다르다. Board 라는 게시판 글 작성테이블이 있다면 Board_Reply 라는 게시글의 댓글을작성하는 테이블이 있어야 한다. 게시글 번호의 컬럼이 hno라고 생각해보자.이 컬럼이 있는 테이블은 Board 가 될것이고, Board_Reply테이블에서는 hno 값을 가지고 있어야하기 때문에 외래키를 사용할 수 밖에 없다. 먼저 HeidiSQL 에서는 외래키 설정이 쉽다. 위처럼 그냥 메뉴탭에 외래키 설정이 있다왼쪽에 +추가 버튼 누르고 참조하려는 테이블과컬럼을 적어주면 된다. s..
어제 MariaDB로 만들어진 페이징이랑, 게시판 댓글 쿼리들을오라클 쿼리들로 바꿨다. 마이바티스에서 사용하는쿼리들은 바꾸는데 어렵지 않았다. (어차피 쿼리는 그게그거이기 때문에...)그런데 시퀀스랑 외래키 설정 때문에 시간을 얼마나버렸는지 모르겠다. 먼저 외래키 설정은 어렵지 않으니다음 포스팅에서 따로 알아보겠다. MariaDB를 편하게 사용 하기위해 개발툴을 HeidiSQL을썼다. 거기서 기본키로 설정된댓글에 번호 메기는 rep_no 라는 컬럼을 기본값으로AUTO_INCREMENT 줬다. 이것이 문제의 근원이다. 먼저 AUTO_INCREMENT 에 대해 알아보면오라클에서의 시퀀스다 값이 생성 될 때 마다 1씩 증가 시켜준다.즉 댓글 번호를 가르키는 rep_no 라는 컬럼이한번 생성 즉, 댓글이 한번 ..
먼저 오라클과 마리아DB의 쿼리함수 차이를 알아보자.오라클에서 년/월/일 시/분/초 를 SELECT문으로 검색할때함수로 TO_CHAR을 사용한다. 하지만 마리아DB에서는 DATE_FORMAT을 사용한다. 간단하게 이 두가지 방법으로 데이터를 뽑아보자. 먼저 오라클이다. regdatae1은 년/월/일regdate2는 년/월/일 시/분regdate3은 년/월/일 시/분/초를 뽑아왔다. 다음 마리아DB이다.
혼자 웹 공부를 하면서 난 항상 오라클만 써왔다. 그런데 최근 어쩌다보니 MariaDB를 사용하게 됐는데일단 MariaDB에 대해 알아보자. MariaDB는 오픈소스의 관계형 데이터베이스 관리 시스템이다.오라클과 MySQL 등과같은 RDBMS다.MariaDB는 MySQL과 동일한 소스 코드를 기반으로하며GPL v2라이센스를 따른다.오라클 소유의 현재 불확실한 MySQL의 라이센스 상태에반발하여 만드어졌으며 배포자는 몬티 프로그램AB와 저작권을 공유해야한다. 이것은 MySQL과 높은 호환성을 유지하기 위함이며MySQL API와 명령에 정확히 매칭하여, 라이브러리 바이너리와상응함을 제공하여 교체 가능성을 높이고자 함이다.마리아DB에는 새로운 저장 엔진인 아리아 뿐만 아니라,InnoDB를 교체할 수 있는Xtr..