본문 바로가기

프로그램

[SPRING]SPRING의 MYBATIS를 XML이 아닌 INTERFACE를 이용하여 사용하기

반응형

SPRING의 MYBATIS를 XML이 아닌 INTERFACE를 이용하여 사용하기

 

1. Sqlfactory 셋팅

<!-- mybatis factory bean -->

    <beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <beans:property name="dataSource" ref="logDataSource"></beans:property>

        <beans:property name="configLocation" value="/WEB-INF/mybatis/mybatis-config.xml"></beans:property>

        <beans:property name="mapperLocations" value="/WEB-INF/mybatis/mapper/*.xml"></beans:property>

    </beans:bean>

 

2. Mapper로 사용할 interface 코딩

public interface TestDao {

 

           @Select("select * from board2")

           @Results(value={

                     @Result(property="seq", column="seq"),

                     @Result(property="title", column="title"),

                     @Result(property="regName", column="reg_name"),

                     @Result(property="regId", column="reg_id")

           })

           public List<Board> selectBoardList();

          

           @Insert("insert into board2(seq, title, reg_name, reg_id) values (#{seq}, #{title}, #{regName}, #{regId})")

           public void insertBoard(Board board);

          

           @Update("update board2 set title=#{title}, reg_name=#{regName}, reg_id=#{regId} where seq=#{seq}")

           public void updateBoard(@Param("seq")long seq, @Param("title")String title, @Param("regName")String regName, @Param("regId")String regId);

 

           @Delete("delete from board2 wehre seq = #{seq}")

           public void deleteBoard(@Param("seq") long seq);

          

}

 

3. Mapper 셋팅

<beans:bean id="testMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">

        <beans:property name="mapperInterface" value="com.lskworld.app.common.dao.TestDao"></beans:property>

        <beans:property name="sqlSessionFactory" ref="sqlSessionFactory"></beans:property>

    </beans:bean>

 

 

참고url

https://github.com/jeremyko/SpringMvcBoardMyBatis