Spring AOP execution사용법

Posted 2007. 8. 14. 17:54

Spring 2.0 스타일로 Transaction 처리를 위해 선언하는 방법을 알아보다가..
알게 된 사실...
 execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern)  throws-pattern?)

modifiers-pattern : 접근지시자에 대한 패턴, 생략가능
ret-type-pattern  : 리턴타입은 필수, * 으로 처리가능
declaring-type-pattern? : 타입패턴? 잘몰겠다. 생략가능
name-pattern(param-pattern) : 메소드 네임패턴(파라메터 패턴), 생략가능
throws-pattern? : Exception 에 대한 패턴, 생략가능

1. ececution( package.Sample  *.insert*(..))
==> 접근지시자 생략, Sample 객체를 리턴하는 insert로 시작하는 모든 메소드
   ececution( package.Sample  *.Member.*(..))
==> Member 클래스내의 모든 메소드.

2. execution(*  *.insert*(..))
==> insert로 시작하는 모든 메소드

근데 현재 저렇게 하는데... TypeMisMath 어쩌구 저쩌구 에러난다... Sample 따라하면 에러 안나는데..

뭐가 문젤까?..




http://club.cyworld.com/50791350112/151455050

==> 참으로 안타까운 현실입니다.


'ccm & 악보' 카테고리의 다른 글

[악보+찬양]너는 내 아들이라  (0) 2007.10.20
주님다시 오실때까지  (0) 2007.10.06
주이름 찬양  (0) 2007.09.16
뒤돌아 서지 않겠네  (0) 2007.08.30
모든 민족과 열방들 가운데  (0) 2007.08.30


ORM이란개 Object Relational Mapping 이라고...
그중에 하나의 테이블이 아닌 여러개의 테이블을 조인한 Mapping은 어떻게 할까.. 고민...그러다가 알게 된 것이다.

<sqlMap namespace="Member">
    <resultMap id="get-member" class="member">
    <result property="id" column="id"/>
    <result property="name" column="name"/>
  </resultMap>


  <resultMap id="get-member-result" class="member" extends="get-member"><== a) Main List
    <result property="user.id" column="user_id"/>
    <result property="user.password" column="password"/>
    <result property="studyHistory" column="{id=id}" select="getStudyList" />  <== b) SubList
  </resultMap>

member와 user는 SqlMapConfig.xml에서 alias로 지정한 것이다.

<typeAlias alias="study" type="com.test.domain.Study"/>
   <typeAlias alias="member" type="com.test.domain.Member"/>
   <typeAlias alias="user" type="com.test.domain.User"/>
</typeAlias>

 

그래서 가져온 결과물은... 요렇게 해서 가져온다.
  <select id="getMemberList" resultMap="get-member-result">
  <![CDATA[
    select a.seq as id, a.name as name,
      a.user_id as user_id, b.password as password,
    from member a, user b
    where a.user_id=b.user_id
  ]]>

</select>

Member class에서 User Object를 선언하고 getXXX, setXXX 메소드를 추가한다.

<select id="getStudyList" parameterClass="study" resultMap="get-study-result">
  <![CDATA[
    select a.id, a.lec_num, a.lec_name
    from study a
    where a.id = #id#
  ]]>
</select>

이것은 앞의 getMemberList 를 실행하면서 각 회원의 getStudyList목록을 List형태로 리턴하게 된다.

검색조건에 추가할라믄 column="{id=id,seq=seq}"  와 같은 형식으로 추가한다.

ㅎㅎㅎ 참 좋은 기능이다. 그럼그렇지 이런게 안될리 없지... 잠시나마 ORM 보다 걍 막쓰는 JDBC가 더 좋다고 외쳐보려던 나의 생각을 다시 돌려본다.....





« PREV : 1 : ··· : 122 : 123 : 124 : 125 : 126 : 127 : NEXT »