본문 바로가기
Spring

[Spring] 14. Mybatis

by ssunooo 2024. 11. 4.

 

 

마이바티스 (Mybatis)란?

 

  • ORM 플러그인( Object Relational Mapping ) - 관계형 데이터베이스 관리 시스템
  • DB 로직 파트를 자동화시키려는 목적으로 설정 추가

 


마이바티스 (Mybatis)의 장점

 

  • SQL 구문을 전부 .xml로 분리해서 관리
  • 가독성 ↑, 결합도 ↓, 응집도 ↑, 유지보수 용이



<종속성 추가 pom.xml>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.1.0</version>
        </dependency>




<sql-map-config.xml - 마이바티스를 위한 설정 파일>

<typeAlias type="com.koreait.app.biz.board.BoardDTO" alias="board" />
== BoardDTO에서는 alias 를 board라고 함

<mapper resource="mappings/board-mapping.xml" />
== JAVA 코드에서 제거한 SQL 구문들이 xxx.xml에 있다라는 설정

 

 

<applicationContext.xml>

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="ds" />
<property name="configLocation" value="classpath:sql-map-config.xml" />
</bean>
<bean id="mybatis" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSession" />
</bean>

 

 

<board-mapping.xml>

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="BoardDAO">
    <insert id="insert">
        INSERT INTO BOARD (CONTENT,WRITER)
        VALUES(#{content},#{writer})
    </insert>
    <select id="selectOne" resultType="board">
        SELECT BID,CONTENT,WRITER FROM BOARD
        WHERE BID=#{bid}
    </select>
    <select id="selectAll" resultType="board">
        SELECT BID,CONTENT,WRITER FROM BOARD
    </select>
    <select id="selectAll_CONTENT" resultType="board">
        SELECT BID,CONTENT,WRITER FROM BOARD
        WHERE CONTENT LIKE CONCAT('%',#{keyword},'%')
    </select>
    <select id="selectAll_WRITER" resultType="board">
        SELECT BID,CONTENT,WRITER FROM BOARD
        WHERE WRITER=#{keyword}
    </select>
</mapper>

 

java 에서 작성할때 파라미터를 받는 방법 = ?


ORM 마이바티스에서 파라미터를 받는 방법 = #{keyword}

 

 

 

2024.11.05

'Spring' 카테고리의 다른 글

[Spring] 13. 파일 입출력  (0) 2024.10.24
[Spring] 12. 트랜잭션  (0) 2024.10.22
[Spring] 11. DAO 고도화(템플릿 패턴)  (0) 2024.10.22
[Spring] 10-1. AOP 어노테이션  (0) 2024.10.17
[Spring] 10. AOP(관점 지향 프로그래밍)  (0) 2024.10.16