마이바티스 (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 |