통합검색을 구하는 쿼리문에 조언부탁드립니다. 0 15 7,100

by neomegas [DB 모델링/설계] 통합검색 [2013.06.26 15:20:57]


안녕하세요. 자바와 HTML5를 갓 시작한 초보자 입니다.

2주동안 혼자 고민고민하다가 도저히 답이 안보이고 막막한 나머지, 힘들어 하다가 오라클클럽분들의 도움을 받고자 이렇게 글을 올립니다.
글이 길어질지도 모르는 상황에, 제 글을 읽고 고민해 주시는 분들게 감사의 말을 먼저 전할께요.


1. 여러 게시판들이 있을때 메인화면에서 검색창에 키워드를 보내면 관련글이 나오는 쿼리문을 만들고자 하는데요...
현재 db는 

<BESTCUTBOARD>
BB_NO    VARCHAR2(10 BYTE)    No 1    
BB_TITLE    VARCHAR2(200 BYTE)    No 2    
BB_NUM    VARCHAR2(10 BYTE)    No 3    
BB_BODY    VARCHAR2(500 BYTE)    No 4    
BB_DATE    DATE    No 5    
BB_GOOD    NUMBER(4,0)    No 6    
BB_BAD    NUMBER(4,0)    No 7    
BB_HIT    NUMBER(4,0)    No 8    
BB_ORIIMG    VARCHAR2(100 BYTE)    No 9    
BB_SAVEIMG    VARCHAR2(100 BYTE)    No 10
<COUCHSURFING>
CB_NO    VARCHAR2(10 BYTE)    No 1    
CB_TITLE    VARCHAR2(200 BYTE)    No 2    
VM_NUM    VARCHAR2(10 BYTE)    No 3    
CB_BODY    VARCHAR2(4000 BYTE)    No 4    
CB_DATE    DATE    No 5    
CB_SHARE    VARCHAR2(30 BYTE)    No 6    
CB_GOOD    NUMBER(4,0)    No 7    
CB_BAD    NUMBER(4,0)    No 8    
CB_HIT    NUMBER(4,0)    No 9    
CB_LATITUDE    NUMBER(23,20)    No 10    
CB_LONGITUDE    NUMBER(23,20)    No 11    
CB_ADDR    VARCHAR2(100 BYTE)    No 12    
CB_TAG    VARCHAR2(20 BYTE)    No 13    
<INFOBOARD>
IB_NO    VARCHAR2(10 BYTE)    No 1    
IB_CATE    VARCHAR2(10 BYTE)    No 2    
IB_TITLE    VARCHAR2(200 BYTE)    No 3    
IB_NUM    VARCHAR2(10 BYTE)    Yes 4    
IB_BODY    VARCHAR2(4000 BYTE)    No 5    
IB_DATE    DATE    No 6    
IB_GOOD    NUMBER(4,0)    No 7    
IB_BAD    NUMBER(4,0)    No 8    
IB_HIT    NUMBER(4,0)    No 9    
<PARTNERBOARD>
PB_NO    VARCHAR2(10 BYTE)    No 1    
PB_TITLE    VARCHAR2(200 BYTE)    No 2    
PB_NUM    VARCHAR2(10 BYTE)    Yes 3    
PB_BODY    VARCHAR2(4000 BYTE)    No 4    
PB_DATE    DATE    No 5    
PB_HIT    NUMBER(4,0)    No 6    
<TRAVELSTORY>
TB_NO    VARCHAR2(10 BYTE)    No 1    
TB_TITLE    VARCHAR2(200 BYTE)    No 2    
TB_NUM    VARCHAR2(10 BYTE)    Yes 3    
TB_BODY    VARCHAR2(4000 BYTE)    No 4    
TB_DATE    DATE    No 5    
TB_GOOD    NUMBER(4,0)    No 6    
TB_BAD    NUMBER(4,0)    No 7    
TB_HIT    NUMBER(4,0)    No 8    
TB_TAG    VARCHAR2(100 BYTE)    No 9
<RECOMMENDTHEME>
RT_CATE    VARCHAR2(40 BYTE)    No 1    
RT_NO    NUMBER(10,0)    No 2    
RT_NUM    VARCHAR2(10 BYTE)    Yes 3    
RT_BODY    VARCHAR2(4000 BYTE)    No 4    
RT_DATE    DATE    No 5    
RT_HIT    NUMBER(4,0)    No 6    
RT_ORIIMG    VARCHAR2(100 BYTE)    No 7    
RT_SAVEIMG    VARCHAR2(100 BYTE)    No 8    

만들어 놓았습니다. 
리플이나 사진 게시판, 위치 게시판도 있지만 너무 길어지면 힘들것 같아서...

그리고 만들어 놓은 쿼리문은 myBatis에서 쓰기 위해서

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    
<mapper namespace="TotalSearchResultSQL">
<!-- 
    통합검색 결과를 보여줄 SQL문이다. 모든 테이블명은 엑셀문서의 테이블명에서 단어 사이에 _를 넣어줬다.
    방식은 각 테이블의 모든 필드를 UNION으로 연결해준 후에, 각 필드가 NULL이 아님을 
    확인하고 입력된 텍스트값의 id인 totalSearch와 중복되는 요소들을 찾아서 출력해 주려고 한다. 
 -->
    <select id="GET_TOTALSEARCHRESULT"    resultType="java.util.Hashtable">    
SELECT
*
FROM (
SELECT
tb_no AS    TBNO,
tb_title AS    TBTITLE,
tb_num AS    TBWRITER,
tb_body AS    TBBODY,
TO_CHAR(tb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    TBDATE,
tb_good AS    TBGOOD,
tb_bad AS    TBBAD,
tb_hit AS    TBHIT,
tb_tag AS    TBTAG
FROM TRAVELSTORY TS
UNION
SELECT
ti_no AS    TINO,
ti_OriNo AS    TIORINO,
ti_OriImg AS    TIORIIMG,
ti_SaveImg AS    TISAVEIMG
FROM TRAVELSTORYIMAGE TSI
UNION
SELECT
mi_PtInfo AS    MIPTINFO,
mi_OriNo AS    MIORINO,
mi_OriPt AS    MIORIPT,
mi_SavePt AS    MISAVEPT
FROM MAPINFO MI
UNION
SELECT
cb_no AS    CBNO,
cb_title AS    CBTITLE,
vm_num AS    VMNUM,
cb_body AS    CBBODY,
TO_CHAR(cb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    CBDATE,
cb_share AS    CBSHARE,
cb_good AS    CBGOOD,
cb_bad AS    CBBAD,
cb_hit AS    CBHIT,
cb_latitude AS    CBLATITUDE,
cb_longitude    AS    CBLONGITUDE,    
cb_addr AS    CBADDR, 
cb_tag AS    CBTAG
FROM COUCHSURFING CS
UNION
SELECT
ci_no AS    CINO,
ci_OriNo AS    CIORINO,
ci_OriImg AS    CIORIIMG,
ci_SaveImg AS    CISAVEIMG
FROM COUCHSURFINGIMAGE CSI
UNION
SELECT
pb_no AS    PBNO,    
pb_title AS    PBTITLE,
pb_num AS    PBNUM,
pb_body AS    PBBODY,
TO_CHAR(pb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    PBDATE,
pb_hit AS    PBHIT
FROM PARTNERBOARD PB
UNION
SELECT
ib_no AS    IBNO,
ib_cate AS    IBCATE,
ib_title AS    IBTITLE,
ib_num AS    IBNUM,
ib_body AS    IBBODY,
TO_CHAR(ib_date, 'YYYY-MM-DD HH24:MI:SS')    AS    IBDATE,
ib_good AS    IBGOOD,
ib_bad AS    IBBAD,
ib_hit AS    IBHIT
FROM INFOBOARD IB
UNION
SELECT
bb_no AS    BBNO,
bb_title AS     BBTITLE,
bb_num AS    BBNUM,
bb_body AS    BBBODY
TO_CHAR(bb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    BBDATE,
bb_good AS    BBGOOD,
bb_bad AS    BBBAD,
bb_hit AS    BBHIT
bb_oriImg AS    BBORIIMG,
bb_saveImg AS    BBSAVEIMG
FROM BESTCUTBOARD BB
UNION
SELECT
rt_cate AS    RTCATE,
rt_no AS    RTNO,
rt_num AS    RTNUM,
rt_body AS    RTBODY,
TO_CHAR(rt_date, 'YYYY-MM-DD HH24:MI:SS')    AS    RTDATE,
rt_hit AS    RTHIT,
rt_OriImg AS    RTORIIMG,
rt_SaveImg AS    RTSAVEIMG
FROM RECOMMENDTHEME RT
)
<!-- 
일반적으로 검색시에 문자를 주로 이용하기에 번호, 제목, 본문 그리고 태그에 대해서 NULL 체크를 한다. 
다만, 검색창에 아무 내용이 없을시에 검색이 실행되지 않게 해놓았고,
어떤 책에서는 '%#{...}%'을 허용한다고 하던데... 리플이나 쪽지등의 내용은 검색결과에서 제하기로 한다.
-->
WHERE
<if test="tb_no !== null">
TS.tb_no = TSI.ti_OriNo 
AND TSI.ti_OriNo= MI.mi_OriNo
AND tb_no like '%' || #{totalSearch} || '%'    
</if>
<if test="tb_title !== null">
OR    TS.tb_title like '%' || #{totalSearch} || '%'    
</if>
<if test="tb_body !== null">
OR    TS.tb_body like '%' || #{totalSearch} || '%'    
</if>
<if test="tb_tag !== null">
OR    TS.tb_tag like '%' || #{totalSearch} || '%'    
</if>
<if test="cb_no !== null">
OR    (CS.cb_no = CSI.ci_OriNo 
AND CS.cb_no like '%' || #{totalSearch} || '%')    
</if>
<if test="cb_title !== null">
OR    CS.cb_title like '%' || #{totalSearch} || '%'    
</if>
<if test="cb_body !== null">
OR    CS.cb_body like '%' || #{totalSearch} || '%'    
</if>
<if test="cb_tag !== null">
OR    CS.cb_tag like '%' || #{totalSearch} || '%'    
</if>
<if test="pb_no !== null">
OR    PB.pb_no like '%' || #{totalSearch} || '%'    
</if>
<if test="pb_title !== null">
OR    PB.pb_title like '%' || #{totalSearch} || '%'    
</if>
<if test="pb_body !== null">
OR    PB.pb_body like '%' || #{totalSearch} || '%'    
</if>
<if test="ib_no !== null">
OR    IB.ib_no like '%' || #{totalSearch} || '%'    
</if>
<if test="ib_title !== null">
OR    IB.    ib_tag like '%' || #{totalSearch} || '%'
</if>
<if test="ib_body !== null">
OR    IB.ib_body like '%' || #{totalSearch} || '%'    
</if>
<if test="bb_no !== null">
OR    BB.bb_no like '%' || #{totalSearch} || '%'    
</if>
<if test="bb_title !== null">
OR    BB.bb_title like '%' || #{totalSearch} || '%'    
</if>
<if test="bb_body !== null">
OR    BB.bb_body like '%' || #{totalSearch} || '%'    
</if>
<if test="rt_no !== null">
OR    RT.rt_no like '%' || #{totalSearch} || '%'    
</if>
<if test="rt_num !== null">
OR    RT.rt_no like '%' || #{totalSearch} || '%'    
</if>
<if test="rt_body !== null">
OR    RT.rt_body like '%' || #{totalSearch} || '%'    
</if>
    </select>
</mapper>

이렇게 만들어 놓았습니다. 

물론 바라는 기능은 검색 결과가 나오면 그 검색 결과를 누르는 순간 해당 글로 넘어가서 모든것(글, 내용, 사진, 위도&경도)을 보여주고 싶지만, 그것은 제가 아직은 가능하지 않다고 판단해서.
검색하고 해당 사항의 일부 정보(제목과 본문 정도..)를 보여주게 하려고 합니다.
글이 너무 길어져서 죄송한데요... 제가 해놓은 쿼리 문이 맞는지 도무지 감이 안잡힙니다. 벌서 며칠째 이것때문에... 많이 힘듭니다.
오라클클럽분들의 도움을 부탁드립니다.
                    by 우리집아찌 [2013.06.26 15:45:14]

                    검색용 테이블(url같은 정보)을 따로 구성하시는게 어떠신지요?

                    조회를 검색용 테이블에서 하고 클릭하면 그쪽을 링크.. 

                    by neomegas [2013.06.26 15:55:18]
                    우리집아찌님, 혹시 검색 인덱스 테이블이 제가 만든 모든 테이블의 컬럼을 모두 모아놓고, 그 테이블을 검색 인덱스로 명하고...
                    거기서 부터 시작하시라는 의견이 맞는지요?

                    그러니깐
                    테이블명 : SEARCHINDEX
                    컬럼 : 지금까지만든 모든 컬럼을 포함

                    그런후에 과정은 검색어가 컬럼과 매치될때, 매치되는 항목이 TRAVELSTORY이면 
                    트레블스토리 테이블에 맞게 보이고..
                     매치되는 항목이 COUCHSURFING이면 카우치서핑 테이블에 맞게 보이게...

                    제가 이해한게 맞는지요? 길이 약간은 보이는 느낌입니다.
                    아직은 답답하지만요.
                    답변 감사드려요

                    by 우리집아찌 [2013.06.26 16:03:14]
                    각 테이블 저장할때 검색용 테이블에 필요한정보 (필수 컬럼DATA , URL(요건 가공하면 될것같구요)) 같이 저장(프로시져로 짜셔도 될듯)하고  연동하면

                    검색 테이블 조회 쿼리 돌려서 화면 뿌리고 원하는 row 클릭시 URL로 바로 연결가능할것 같아요
                     
                     

                    by 아발란체 [2013.06.26 16:01:12]

                    6개 테이블 각 XML 구문을 만들어 주는 것이 나중에 유지 보수할 때 편할 것 같습니다.
                    IBatis XML 구문이라면 '%#{...]}%' 형식이 책에 허용 된다고 되어 있나요?
                    제가 알기론 # 자체가 '를 포함하기 때문에 자동으로 변환해준다고 해도 명확한 표현이 아닌 것 같습니다.
                    사용하신 '%'||#{...}||'%' 표현이 바른 표현 같습니다.

                    실행 오류 나죠? 문제가 있어 보입니다.
                    INLINE VIEW를 쓰면 서브쿼리에 있는 각 테이블이 접근 불가합니다.
                    TS.XXX, CS.XXX 접근이 안됩니다.
                    또한 항목명을 따로 정의하지 않으면 서브쿼리 첫번째 SELEST문 항목명으로 되기 때문에
                    역시 두번째 SELECT문 항목명으로 접근 할 수 없습니다.

                    SELECT * FROM (
                      SELECT C, D, E FROM TABLE1
                      UNION ALL
                      SELECT E, F, G FROM TABLE2
                    ) TABLE3
                    WHERE
                       TABLE1.C = 'DDD' => 오류발생
                       TABLE2.E = 'DDD'  => 오류발생
                       TABLE3.E = 'DDD' => 오류발생
                       TABLE3.C = 'DDD' => 정상접근


                    by neomegas [2013.06.26 16:09:26]
                    여러분들의 조언으로 다시 만들어 보고 있습니다.

                    각 게시판마다 해당 게시판을 검색하는 기능을 넣으려고 하다가...
                    무턱대고 구글 검색 같은 기능을 만들어 보자 하고... 머리 엄청 빠지네요.

                    사막에서 미아가 된 느낌입니다.

                    물론, 아발란체 님의 조언 감사드립니다.
                    누군가 원군이 있다는 느낌에 힘을 냅니다.

                    by 아발란체 [2013.06.26 16:16:13]
                    저보다는 잘하시네요.. 신입땐 이해가 도무지 안가 책만 보고 따라해서 책 복사기였습니다.

                    by neomegas [2013.06.26 16:19:50]
                    답변을 한번밖에 채택 못하네요...

                    아발란체님 선택 안됬다고 화내시면 안돼요!

                    by 우리집아찌 [2013.06.26 16:23:56]
                    오 감사합니다..

                    by 아발란체 [2013.06.26 16:35:31]

                    화내긴요... ^^  원하는 결과를 얻으시면 다행이죠.
                    포인트 신경 안써요 ㅋㅋ
                    저도 늘 도움 받다가 학습하는데 도움이 될 것 같아서 커뮤니티 특성을 악용해 막막 쓰고 있습니다.


                    by neomegas [2013.06.26 17:45:41]
                    우리집아찌님이 이게시물을 다시 보시진 않으시 겠죠?
                    (실은 채택은 아찌님걸 하구... 제가 역량이 안되서 아발란체님 방식으로 지금은 하고 있거든요...)

                    아발란체님 답변을 보고 다음과 같이 했는데요...

                    <?xml version="1.0" encoding="UTF-8"?>
                    <!DOCTYPE mapper
                        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
                        
                    <mapper namespace="TotalSearchSQL">
                    <!-- 
                        통합검색 결과를 보여줄 SQL문이다. 모든 테이블명은 엑셀문서의 테이블명에서
                        단어 사이에 _를 넣어줬다.
                        방식은 각 테이블의 모든 필드를 UNION으로 연결해준 후에, 각 필드가 NULL이 아님을 
                        확인하고 입력된 텍스트값의 id인 totalSearch와 중복되는 요소들을 찾아서 출력해 주려고 한다. 
                     -->
                        
                        <select id="GET_TRAVELSTORYSEARCH" parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    tb_no AS    TBNO,
                    tb_title AS    TBTITLE,
                    tb_num AS    TBWRITER,
                    tb_body AS    TBBODY,
                    TO_CHAR(tb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    TBDATE,
                    tb_good AS    TBGOOD,
                    tb_bad AS    TBBAD,
                    tb_hit AS    TBHIT,
                    tb_tag AS    TBTAG,
                    ti_OriImg AS  TIORIIMG,
                    ti_SaveImg AS  TISAVEIMG,
                    ti_OriNo AS  TIORINO,
                    mi_OriPt AS    MIORIPT,
                    mi_SavePt AS    MISAVEPT,
                    mi_OriNo AS    MIORINO
                    FROM 
                    TRAVELSTORY TS, MAPINFO MI, TRAVELSTORYIMAGE TSI 
                    WHERE
                    TS.tb_no = MI.mi_OriNo AND MI.mi_OriNo = TSI.ti_OriNo AND
                    (TS.tb_title LIKE '%' || #{totalSearch} || '%' OR 
                    TS.tb_body LIKE '%' || #{totalSearch} || '%' OR
                    TS.tb_num LIKE '%' || #{totalSearch} || '%' OR
                    TS.tb_tag LIKE '%' || #{totalSearch} || '%')
                    ORDER BY
                    TS.tb_no DESC    
                        </select>
                        <select id="GET_COUCHSURFINGSEARCH" parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    cb_no AS    CBNO,
                    cb_title AS    CBTITLE,
                    vm_num AS    VMNUM,
                    cb_body AS    CBBODY,
                    TO_CHAR(cb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    CBDATE,
                    cb_share AS    CBSHARE,
                    cb_good AS    CBGOOD,
                    cb_bad AS    CBBAD,
                    cb_hit AS    CBHIT,
                    cb_latitude AS    CBLATITUDE,
                    cb_longitude    AS    CBLONGITUDE,    
                    cb_addr AS    CBADDR, 
                    cb_tag AS    CBTAG,
                    ci_OriNo AS    CIORINO,
                    ci_OriImg AS    CIORIIMG,
                    ci_SaveImg AS    CISAVEIMG
                    FROM 
                    COUCHSURFING CS, COUCHSURFINGIMAGE CSI
                    WHERE
                    CS.cb_no = CSI.ci_OriNo AND
                    (CS.cb_title LIKE '%' || #{totalSearch} || '%' OR 
                    CS.cb_body LIKE '%' || #{totalSearch} || '%' OR
                    CS.vm_num LIKE '%' || #{totalSearch} || '%'
                    CS.cb_tag LIKE '%' || #{totalSearch} || '%')
                    ORDER BY
                    CS.cb_no DESC    
                        </select>
                        <select id="GET_PARTNERBOARDSEARCH" parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    pb_no AS    PBNO,    
                    pb_title AS    PBTITLE,
                    pb_num AS    PBNUM,
                    pb_body AS    PBBODY,
                    TO_CHAR(pb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    PBDATE,
                    pb_hit AS    PBHIT
                    FROM 
                    PARTNERBOARD PB
                    WHERE
                    PB.pb_title LIKE '%' || #{totalSearch} || '%' OR 
                    PB.pb_num LIKE '%' || #{totalSearch} || '%' OR
                    PB.pb_body LIKE '%' || #{totalSearch} || '%'
                    ORDER BY
                    PB.pb_no DESC    
                        </select>
                        <select id="GET_INFOBOARDSEARCH"    parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    ib_no AS    IBNO,
                    ib_cate AS    IBCATE,
                    ib_title AS    IBTITLE,
                    ib_num AS    IBNUM,
                    ib_body AS    IBBODY,
                    TO_CHAR(ib_date, 'YYYY-MM-DD HH24:MI:SS')    AS    IBDATE,
                    ib_good AS    IBGOOD,
                    ib_bad AS    IBBAD,
                    ib_hit AS    IBHIT
                    FROM 
                    INFOBOARD IB
                    WHERE
                    IB.ib_title LIKE '%' || #{totalSearch} || '%' OR 
                    IB.ib_num LIKE '%' || #{totalSearch} || '%' OR
                    IB.ib_body LIKE '%' || #{totalSearch} || '%'
                    ORDER BY
                    IB.ib_no DESC    
                        </select>
                        <select id="GET_BESTCUTBOARDSEARCH" parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    bb_no AS    BBNO,
                    bb_title AS     BBTITLE,
                    bb_num AS    BBNUM,
                    bb_body AS    BBBODY
                    TO_CHAR(bb_date, 'YYYY-MM-DD HH24:MI:SS')    AS    BBDATE,
                    bb_good AS    BBGOOD,
                    bb_bad AS    BBBAD,
                    bb_hit AS    BBHIT
                    bb_oriImg AS    BBORIIMG,
                    bb_saveImg AS    BBSAVEIMG
                    FROM BESTCUTBOARD BB
                    WHERE
                    BB.bb_title LIKE '%' || #{totalSearch} || '%' OR 
                    BB.bb_num LIKE '%' || #{totalSearch} || '%' OR
                    BB.bb_body LIKE '%' || #{totalSearch} || '%'
                    ORDER BY
                    BB.bb_no DESC    
                        </select>
                        <select id="GET_RECOMMENDTHEMESEARCH"    parameterType="java.lang.String"
                    resultType="java.util.Hashtable">    
                    SELECT
                    (    
                    rt_cate AS    RTCATE,
                    rt_no AS    RTNO,
                    rt_num AS    RTNUM,
                    rt_body AS    RTBODY,
                    TO_CHAR(rt_date, 'YYYY-MM-DD HH24:MI:SS')    AS    RTDATE,
                    rt_hit AS    RTHIT,
                    rt_OriImg AS    RTORIIMG,
                    rt_SaveImg AS    RTSAVEIMG
                    FROM RECOMMENDTHEME RT
                    WHERE
                    RT.rt_num LIKE '%' || #{totalSearch} || '%' OR 
                    RT.rt_body LIKE '%' || #{totalSearch} || '%' 
                    ORDER BY
                    RT.rt_no DESC    
                        </select>
                    )
                    <!-- 
                    일반적으로 검색시에 문자를 주로 이용하기에
                    번호, 제목, 본문 그리고 태그에 대해서 NULL 체크를 한다. 
                    다만, 검색창에 아무 내용이 없을시에 검색이 실행되지 않게
                    해놓았는데... 밑에 과정이 필요한가?
                    어떤 책에서는 '%#{...}%'을 허용한다고 하던데...
                    리플이나 쪽지등의 내용은 검색결과에서 제하기로 한다.
                    -->
                    </mapper>

                    제가 맞게 했는지 한번 봐주세요.
                    암튼 오늘도 새벽 2시 지나서 잘듯...

                    IT와 다른 일을 하다가 늦은(?) 나이에 시작하는데... 너무 모르니깐 머리에 사리가 한 10개는 생긴것 같아요.

                    by 손님 [2013.06.26 18:45:37]
                    될것 같은데 안되나요? 이제 분리한 것으로 돌려보고 결과에 따라 조치하면 될 것 같은데.
                    오류 올라오나용?

                    by neomegas [2013.06.26 18:48:02]
                    실은 에러가 너무 겁나서요...
                    에러는 숙명인걸 받아 들여야 하는데...

                    컴퓨터랑 대화하는게 아직은 너무 힘드네요~

                    저도 간간히 할 수 있는 것은 답변 꼭 올리겠습니다.
                    손님님께도 감사드립니다.

                    by 아발란체 [2013.06.27 08:49:41]

                    자바 에러가 그러요. 에러 올려주실 수 있나요?


                    by neomegas [2013.06.27 18:46:41]
                    아발란체님 아직 다 못했어여. 중간에 막혀서 여기저기 물으면서 해나가고 있습니다. MVC + myBatis + SpringFrameWork 가 초급자에게는 참 힘드네요. 

                    결과를 보여주는 게시판이 완성되면 보내드릴께요.

                    by 아발란체 [2013.06.28 09:14:35]

                    화이팅~ 입니다 ~ !

                    댓글등록
                    SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
                    로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입