달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
.. .. ..


null처리 방식이 여러방법이있겠지만   아이바티스로만 알려드리겠습니다.(다른방법은.... DTO에서 처리 또는

인설트 하는 jsp아님 struts면 액션클래스에서 처리를 해주셔야겠지요...)

 

<sqlMap>
 
 <typeAlias alias="login" type="example.chapter10.login.loginVO" />

<resultMap id="loRes" class="login">
   <result property="id" column="id" nullValue="" />
  </resultMap>

  <sql id="jungbok">
   select id from login
  </sql>
  
  <select id="jungbokId"  resultMap="loRes">
   <include refid="jungbok"/>
    where id = #id#
  </select>

</sqlMap>

 이부분에서  resultMap에서 nullValue="" 설정해주시구요.... 말그대로 리턴될 resultMap에서 nullValue는 영어 그대로 null값입니다. 더쉽게 말해서 이 필드가 리턴될때 null값이면 nullValue에 있는 값으로 대체한다는거지요.....

 또한 DB table을 작성할시 예로..

<insert id="boardinsert" parameterClass="tempClass">
        insert into test(num,name) values(test_SEQ_num.nextval,#name:VARCHAR:NO_ENTRY#)

</insert>

 이경우는 test테이블에 추가를한다고 가정하면  위에 빨강색 글씨로 된부분처럼 #name:VARCHAR:NO_ENTRY# 이렇게 써주면 null처리가 됩니다. 당연.... 테이블 작성시 name필드는

null이 허용이 되게 만들어야겠지요...

 

 마지막으로 여담인데.... sitemesh를 이용하시는거 같아요 즉 struts2 sitemesh플러그인를 사용하시는건가봐요??? 1,2년전부터 sitemesh를 많이 사용한다고 하지만... 최근 tile2가 인기가 급상승 되었다고 합니다. 저도 써본결과 sitemesh는 사용하기는 쉽고 편하지만.. 부하가 많이 걸리고 tile2보다는 재사용성에서 떨어져서 그런거 같습니다. 공부하는 사람이라면 tiles2도 함께 알아두시면 좋을것 같습니다...tiles2도 Layout꾸며서 활용하는거에서는 개념이 같습니다......

.
:
Posted by .07274.