//pom.xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.9</version>
</dependency>
//pom.xml
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.7</version>
</dependency>
String sql = "SELECT * FROM user_info WHERE id= ? ";
try (
Connection conn = ds.getConnection();
PreparedStatement pstmt = conn.prepareStatement(sql);
ResultSet rs = pstmt.executeQuery(); // select
){
pstmt.setString(1, id);
if (rs.next()) {
user = new User();
user.setId(rs.getString(1));
user.setPwd(rs.getString(2));
user.setName(rs.getString(3));
user.setEmail(rs.getString(4));
user.setBirth(new Date(rs.getDate(5).getTime()));
user.setSns(rs.getString(6));
user.setReg_date(new Date(rs.getTimestamp(7).getTime()));
}
}
//Mapper.xml
<delete id="deleteUser" parameterType="String">
delete from user_info
where id = #{id}
</delete>
//DAO.class
public int deleteUser(String id) throws Exception {
return session.delete(namespace+"deleteUser", id);
}
MyBatis는 DAO와 JDBC 사이에 위치하여 서로를 매핑해줍니다.
MyBatis Configuration File
Database의 연결, 매핑 경로, 작업 설정과 같은 세부 사항을 설명하는 파일
SqlSessionFactory
SqlSession을 생성하는 요소
SqlSession
SQL 실행 및 트랜잭션 제어를 위한 요소
MyBatis를 사용하여 Database에 Access할때 가장 중요한 역할을 하는 요소
//root-context.xml
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"/>
<property name="mapperLocations" value="classpath:mapper/*Mapper.xml"/>
</bean>
//root-context.xml
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg ref="sqlSessionFactory"/>
</bean>