본문 바로가기
☕Java/Spring

[20210705] MyBatis

by 캔 2021. 7. 5.

MyBatis를 이용하면 Spring Framework에서 데이터베이스 접속 정보나 SQL문을 쉽게 변경할 수 있다. 

.properties 확장자를 가지는 속성 파일에는 드라이버와 접속 정보를, mapper.xml에는 사용자가 정의한 SQL문을, SqlMapConfig.xml에는 SQL 매핑에 대한 환경설정 정보를 담는다.

속성 파일의 구조는 다음과 같다.

driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost
username=사용자이름
password=비밀번호

mapper.xml 파일 구조는 다음과 같다.

<!--mapper.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org/DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace=" ">
	<select id="selectAll" resultType="DeptDTO">
		select * from dept
	</select>
	<select id="selectOneByDept" resultType="DeptDTO">
		select * from dept where deptno=#{deptno}
	</select>
	<insert id="insertOneByDept" parameterType="DeptDTO">
		insert into dept(deptno, dname, loc) values(#{deptno}, #{dname}, #{loc})
	</insert>
	<update id="updateOneByDept" parameterType="DeptDTO">
		update dept set dname= #{dname}, loc=#{loc} where deptno=#{deptno}
	</update>
	<delete id="deleteOneByDept" parameterType="int">
		delete from dept where deptno=#{deptno}
	</delete>
</mapper>

SqlMapConfig.xml 파일 구조는 다음과 같다.

<!--SqlMapConfig.xml-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org/DTD config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>
	<properties resource="resource/db.properties" />
	<typeAliases>
		<typeAlias type="spring_app12.dto.DeptDTO" alias="DeptDto"/>
	</typeAliases>
	<environments default="dev">
		<environment id="dev">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${driver}"/>
				<property name="url" value="${url}" />
				<property name="username" value="${username}"/>
				<property name="password" value="${password}"/>
			</dataSource>
		</environment>
	</environments>
	<mappers>
		<mapper resource="resource/mapper.xml"></mapper>
	</mappers>
</configuration>

 

 

'☕Java > Spring' 카테고리의 다른 글

[20210707] Spring Web MVC  (0) 2021.07.07
[20210706] Spring Framework의 AOP  (0) 2021.07.06
[20210702] Spring JDBC 예제  (0) 2021.07.02
[20210701] 스프링 프로젝트 생성하기  (0) 2021.07.01
[20210630] 스프링 프레임워크  (0) 2021.06.30