반응형
MyBatis 기본틀
pom.xml
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.3</version>
</dependency>
<!-- JDBC Template -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.1.4.RELEASE</version>
</dependency>
jdbc-config.xml
<bean name="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="spring" />
<property name="password" value="1234" />
</bean>
<bean id="sqlSessionFactory"
class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation"
value="classpath:mybatis/mybatis-config.xml" />
<property name="mapperLocations"
value="classpath:mybatis/mapper.xml" />
</bean>
<bean id="sqlSession"
class="org.mybatis.spring.SqlSessionTemplate"
destroy-method="clearCache">
<constructor-arg name="sqlSessionFactory"
ref="sqlSessionFactory"></constructor-arg>
</bean>
web.xml
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
mybatis-config.xml & mapper.xml
<!-- mybatis-config -->
<?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>
<typeAliases>
</typeAliases>
</configuration>
<!-- mapper -->
<?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="com.care.mybatis.myMapper">
</mapper>
Table 생성
create table mybatis_test(
num number,
name varchar2(30),
mydate date
);
insert into mybatis_test values(1,'홍길동',sysdate);
insert into mybatis_test values(2,'김개똥',sysdate);
commit;
select *
=> 전체 리스트 가져오기
TestDTO
mybatis-config.xml
=> 별칭을 지정해서 mapper에서 사용
mapper.xml
=> sql문 결과값을 dto타입 listAll에 저장
(dto는 mybatis-config.xml에서 TestDTO 타입의 별칭 )
나중에 DAO에서 namespace에 명시된 경로(sql문이 있는 경로)로 접근하게 변수를 만듬
namespace는 아무거나 써도 되지만, 서로 같아야 한다.
TestController
servlet-context.xml
TestService
TestDAO
test.jsp
실행
select
=> 결과값이 하나일때
input.jsp
TestController
TestService
TestDAO
mapper.xml
list.jsp
실행
더보기
숫자가 아닌 문자를 입력했을때 => 500 오류
/* 실행되지 않아도 오류가 뜨지 않을것 같은 문장은 try-catch문으로 묶음 */
insert
inputuser.jsp
TestController
TestService
TestDAO
mapper.xml
Update & Delete
더보기
Service 인터페이스 안에
@Select("sql문") /@Insert 를 직접 써서 사용하는 방식도 있다.
public void testtt();
반응형
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200624.83일차] Spring boot 1 - STS 설치 & 프로젝트 만들기 (0) | 2020.06.24 |
---|---|
[200623.82일차] Spring 12 - Scheduler, Ajax, RestController (1) | 2020.06.23 |
[200622.81일차] Spring 11 - AOP (0) | 2020.06.22 |
[200618.79일차] Spring 9 - 어노테이션 이용 (@Autowired) & bean (0) | 2020.06.18 |
[200617.78일차] Spring 8 - 트랜잭션 (0) | 2020.06.17 |
[200616.77일차] Spring 7 (0) | 2020.06.16 |
[200615.76일차] Spring 6 - jdbc (0) | 2020.06.15 |