스프링

반드시  root-context.xml 에 mybatis 어노테이션으로 할 빈을 설정해 준다.

 

    
    <!--  mybatis mapper interface bean 을 자동으로 검색하여 생성함 -->
    <mybatis-spring:scan base-package="com.macaronics.www.user.model.dao.memo"/>
    

 

 

중요한것은 context:component-scan 에서 서로 충돌을 나지 않게 패키지를 따로 지정해 줘야한다.

		<!-- 스프링 빈을 태그로 등록하지 않고 자동으로 검색(auto scan) --> 
	<context:component-scan base-package="com.macaronics.www" />

 

 

인터페이스 DAO 하나로 mapper 까지 해결 된다.

 

파라미터가 두개이상인경우 서비스에서 Map 으로 전달 하거나

어노테이션으로 설정할 수도 있다.

	@Select(list)
	public List<UserMemoVO> list2(@Param("userid") String usrid, @Param("start") Integer start, @Param("end") Integer end);
//interface + 구현 클래스 + mapper

public interface UserMemoDAO {

	String list =" select * from ( select rownum  as rn, A.*  from  ( select rownum , userid, EMAIL, friendName, idx, memo, phone, post_date from tbl_memo "
			+ " where userid=#{userid} order by idx desc )  A ) where  rn BETWEEN #{start} and #{end} ";
	
	String getMemo=" select * from tbl_memo where idx=#{idx} order by idx desc ";
	
	String  insertMemo= " INSERT  INTO TBL_MEMO (IDX, USERID, FRIENDNAME, MEMO, EMAIL, PHONE ) " 
			+ " VALUES (seq_memo.nextval, #{userid}, #{friendName}, #{memo}, #{email}, #{phone} )   ";
	
	String memoUpdate=" update TBL_MEMO SET EMAIL=#{email}, FRIENDNAME=#{friendName}, MEMO=#{memo}, PHONE=#{phone} "
			  + " where idx=#{idx}  ";
	
	String  memoDelete= " delete from TBL_MEMO  WHERE IDX =#{idx} ";
	
	String countMemo=" select count(*) FROM  tbl_memo where userid=#{userid} ";
	
	/*
	@Results({
        @Result(property = "idx", column = "idx"),
        @Result(property = "memo", column = "memo"),
        @Result(property = "writer", column = "writer"),
        @Result(property = "post_date", column = "post_date")
      })*/
	@Select(list)
	public List<UserMemoVO> list(Map map);

	//or @Select(list)
	@Select(list)
	public List<UserMemoVO> list2(@Param("userid") String usrid, @Param("start") Integer start, @Param("end") Integer end);
	
	@Select(getMemo)
	public UserMemoVO getMemo(Integer idx);


	@Insert(insertMemo)
	public void insertMemo(UserMemoVO vo);

	
	@Update( memoUpdate )
	public void memoUpdate(UserMemoVO vo);

	
	@Delete (memoDelete)
	public void memoDelete(Integer idx);

	@Select(countMemo )
	public int countMemo(String userid);
	 
	
}

 

 

about author

PHRASE

Level 60  머나먼나라

All roads lead to Rome. ( 모든 길은 로마로 통한다. 즉, 어떤 목적을 달성하는 데에는 다양한 방법이 있음을 강조하는 말로 모든 일의 궁극적인 귀결은 같다.)

댓글 ( 4)

댓글 남기기

작성