mybatis
<choose>
<when test="">
</when>
<otherwise>
</otherwise>
</choose>
마이바티스
<configuration>
<settings>
<setting name="jdbcTypeForNull" value="NULL" />
</settings>
<typeAliases>
<typeAlias type="edu.kh.comm.member.model.vo.Member" alias="memer" />
</typeAliases>
<mappers>
<mapper resource="mapper 파일경로" />
</mappers>
</configuration>
루트콘텍스트
<bean id="realDataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.oracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="community" />
<property name="password" value="1234" />
<property name="defaultAutoCommit" value="false" />
</bean>
name-space의 역할
resultType, resultMap 차이
- resultType은 매핑될 클래스명을 작성하는 것이고
resultMap은 사용자가 원하는 POJO클래스(VO) 매핑 시킬수 있다.
selectOne과 selectList의 차이
- selectOne은 하나의 객체만 리턴
selectList는 여러행의 결과를 list형태로 리턴
resultType 생략 가능한 이유
- DML구문일때 무조건 _int 이기 때문에 생략 가능함
프레임워크와 라이브러리 차이점
- 제어의 흐름의 주도성이 누구에게 있는가에 다르다
프레임워크란?
- 개발자가 소프트웨어 개발시에 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가시키기 위해 뼈대와 틀을 라이브러리 형태로 제공하는것
프레임워크 종류
- 영속성 : 데이터의 저장, 조회, 수정, 삭제를 다루는 클래스 및 설정 파일을
라이브러리화 하여 구현한 프레임워크
- 자바 : 자바ee를 통한 웹 어플리케이션 개발에 초첨을 맞추어 요소들을 모듈화 하여 제공
스프링 프레임워크 개요
- IOC : 컨트롤의 제어권이 프레임워크에 있다
- DI : 어노테이션을 통해 객체간의 의존을 생성
- POJO : 상속받아 구현하지 않고 일반적인 기능만을 가진 순수 자바 객체
- Spring AOP : 여러 계층에서 공통으로 필요로 하는 기능의 경우 해당 기능들을 분리하여 관리한다
- Spring JDBC : 영속성 프레임워크와 연결할 수 있는 인터페이스를 제공한다
- Spring MVC : 웹 계층에 서블릿 API를 기반으로 클라이언트 요청을 처리하는 모듈
Spring MVC
- DispatcherServlet : 요청을 전달받고 컨트롤러가 알맞은 응답을 생성
- HandlerMapping : 클라이언트의 요청 url을 어떤 컨트롤러가 처리할지 결정
- controller : 클라이언트의 요청을 처리한뒤 결과를 DispatcherServlet에게 리턴
- ModelAndView : 컨트롤러가 처리한 결과 정보 및 선택에 필요한 정보를 담음
- ViewResolver : 컨트롤러의 처리 결과를 생성할 뷰를 결정
- View : 컨트롤러의 처리 결과 화면에 생성