으아아아악33
248
2021-06-05 15:06:02
16
333

My batis 동적쿼리문 조건 질문드립니다 ..


동적쿼리문이 헷갈려서 그런데요 ..  

 

 update 문에 쿼리문을 쓰려고 하는데 

 우선 vo클래스에  필드명이    quitYn (퇴사여부)라디오 버튼 체크 ,  quitDate (날짜출력)가 있습니다  

맵퍼에서 쿼리문으로 조건을 걸어주려고 하는데요 .. 

 quitYn 라디오체크를 Y로 걸어줬을때 SYSDATE를 (quitdate)출력하게 하고 N 일때 null 값을 출력하게 하려면 

어떤식으로 조건을 걸어줘야할까요 ?

ex )  

<if test = 'quitYn == "Y"  여기서 막혔습니다.. 혹시 이런식으로 접근하는게 아닌가요 ... ? 


0
  • 답변 16

  • 대콩
    172
    2021-06-05 15:47:50 작성 2021-06-05 15:48:04 수정됨

    <if test="quitYn == 'Y'">

    쿼리

    </if>


     이걸로 해보세용 

    http://blog.naver.com/PostView.nhn?blogId=admass&logNo=220533442483&parentCategoryNo=&categoryNo=4&viewDate=&isShowPopularPosts=false&from=postView

  • 대콩
    172
    2021-06-05 15:48:50
    if절을 쌍따옴표로 감싸주고 문자열을 그냥 따옴표 
  • 대콩
    172
    2021-06-05 15:49:01

    안된다면 죄송합니다 ㅠ_ㅠ

  • 으아아아악33
    248
    2021-06-05 16:03:04

    이렇게 뜨네요.. 쿼리가 잘못된걸까요...? 


  • 대콩
    172
    2021-06-05 16:05:03

    쿼리가잘못된거같은데요 . . ?


  • 대콩
    172
    2021-06-05 16:06:16

    쿼리를 천천히 봐보세용 

  • 대콩
    172
    2021-06-05 16:16:43

    UPDATE MEMBER

     SET 

     MEMBER_DEPT = #{memberDept}

    ,MEMBER_JOB = #{memberJob}

    여기 중간에 MEMBER_PHO 이건 짤려서 생략할게요

    <if test="quitYn='Y'">

    QUIT_DATE = SYSDATE

    </if>

    <if test="quitYn='N'">

    QUIT_DATE = NULL

    </if>

    WHERE MEMBER_ID = #{memberId}


    여렇게 해보시겠습니까..?



  • 으아아아악33
    248
    2021-06-05 16:18:52

    금방해보겠습니다! 도움주셔서 정말 감사합니다 ..


  • 대콩
    172
    2021-06-05 16:19:25

    안될수도있어용.. 저도 초보라서요.........

  • 으아아아악33
    248
    2021-06-05 16:21:43

    같은 오류가 뜨네요 .. 다른문제인가 ..  jsp 에서 인풋 값을 잘못줬다거나 .. 

    ㅜㅜ

  • 대콩
    172
    2021-06-05 16:22:19

    오류 긁어서 써주세용

  • 으아아아악33
    248
    2021-06-05 16:23:20
    이게 근본원인 부분입니다 .. 500 오류 이고요 .. 
    org.springframework.jdbc.BadSqlGrammarException: 
    ### Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
    
    ### The error may involve memberMapper.updateMember-Inline
    ### The error occurred while setting parameters
    ### SQL: UPDATE MEMBER SET MEMBER_DEPT = ?, MEMBER_JOB = ?, MEMBER_PHONE = ? , MEMBER_EMAIL = ? , MEMBER_ADDR = ? , BANK = ?, ACCOUNT = ?, QUIT_YN = ?, RENAMEFILE_NAME = ?, ORIGINALFILE_NAME = ?        QUIT_DATE = SYSDATE           QUIT_DATE = NULL       WHERE MEMBER_ID = ?
    ### Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
    
    ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00933: SQL command not properly ended
  • 으아아아악33
    248
    2021-06-05 16:27:27

    헷갈리실수도 있겠지만 위에사진이  디테일 페이지 표시하는 부분 jsp고 , 밑에 사진이 정보수정하는 jsp입니다!



  • 대콩
    172
    2021-06-05 17:02:21

    SQL문문제인데오류문제인데

    XML UPDATE문 올려주세용 !!

  • 대콩
    172
    2021-06-05 17:02:32

    안짤리게 !!

  • 으아아아악33
    248
    2021-06-05 17:15:48

    이것저것 해보고있는중이였어요... 이렇게 했는데 500오류 근본원인 번역해보니까 SQL명령이 제대로 종료되지 않았습니다.. 뜨더라고요..


  • 로그인을 하시면 답변을 등록할 수 있습니다.