MyBatis
<?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>
<!--
Mybatis 실행시 동작을 셋팅한다.
-->
<settings>
<!--
jdbcTypeForNull
- INSERT, UPDATE 실행시 컬럼에 null값이 입력 가능케 한다
- 단, not null 제약조건이 지정된 컬럼에 null값이 입력되는 경우에는 예외가 발생한다.
-->
<setting name="jdbcTypeForNull" value="NULL" />
<!--
logImpl
- Mybatis가 사용할 로깅 구현체를 지정한다.
- 현재 설정은 log4j라는 로깅 라이브러리를 기본 로깅 구현체로 지정
-->
<setting name="logImpl" value="LOG4J" />
</settings>
<!--
SQL 매핑구문 작성할 때, parameterType과 resultType에 지정하는 클래스에 대한 별칭을 지정한다.
- 별칭 설정 전
<insert id="insertProduct" parameterType="com.sample.vo.Product">
INSERT INTO sample_products(product_no, product_name, product_maker, ...)
VALUES (product_seq.nextval, #{name}, #{maker}, ...)
</insert>
- 별칭 설정 후
<insert id="insertProduct" parameterType="Product">
INSERT INTO sample_products(product_no, product_name, product_maker, ...)
VALUES (product_seq.nextval, #{name}, #{maker}, ...)
</insert>
-->
<typeAliases>
<!--
자바클래스에 대한 별칭을 클래스별로 설정하기.
<typeAlias type="com.sample.vo.Product" alias="Product"/>
<typeAlias type="com.sample.vo.User" alias="User"/>
<typeAlias type="com.sample.vo.Item" alias="Item"/>
-->
<!--
자바클래스에 대한 별칭을 해당 패키지안에 있는 모든 클래스에 대해서 설정하기
com.sample.vo.Product의 별칭은 product가 된다.
com.sample.vo.User의 별칭은 user가 된다.
com.sample.vo.Item의 별칭은 item이 된다.
com.sample.vo.UserOrderHistory의 별칭은 userOrderHistory이 된다.
-->
<package name="com.sample.vo"/>
</typeAliases>
<!-- 데이터베이스 연결정보 설정 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe" />
<property name="username" value="hr" />
<property name="password" value="zxcv1234" />
</dataSource>
</environment>
</environments>
<!-- 사용자정의 매퍼파일 등록 -->
<mappers>
<mapper resource="mybatis/mappers/products.xml"/>
</mappers>
</configuration>
브라우져의 주소표시줄에 표시된 현재 주소를 활용해서 이동할 주소가 결정된다.
링크의 주소가 "/"로 시작하지 않으면 상대주소표기법이다.
일반적인 JSP페이지에서는 상대주소표기법으로 링크를 정의한다.
주소표시줄의 맨 마지막 "/"까지의 주소에 대한 상대적인 경로를 적는 것이다.
예) 주소표기줄의 주소
http://localhost/store/goods/book/list.jsp
이동할 페이지가 같은 폴더에 있는 페이지인 경우
<a href="detail.jsp">링크</a>
주소창의 현재 경로 : http://localhost/store/goods/book/
주소계산에 활용되는 경로 : http://localhost/store/goods/book/
최종 경로 : http://localhost/store/goods/book/detail.jsp
이동할 페이지가 상위 폴더에 있는 페이지인 경우
<a href="../home.jsp">링크</a>
주소창의 현재 경로 : http://localhost/store/goods/book/
주소계산에 활용되는 경로 : http://localhost/store/goods/
최종 경로 : http://localhost/store/goods/home.jsp
이동할 페이지가 상위의 상위 폴더에 있는 페이지의 경우
<a href="../../home.jsp">링크</a>
주소창의 현재 경로 : http://localhost/store/goods/book/
주소계산에 활용되는 경로 : http://localhost/store/
최종 경로 : http://localhost/store/home.jsp
이동할 페이지가 다른 폴더에 있는 페이지의 경우
<a href="../../user/info.jsp">링크</a>
주소창의 현재 경로 : http://localhost/store/goods/book/
주소계산에 활용되는 경로 : http://localhost/store/
최종 경로 : http://localhost/store/user/info.jsp
브라우져의 주소표시줄에 표시된 주소
http://localhost/store/book/list.jsp
이동할 url -> http://localhost/store/book/detail.jsp
<a href="detail.jsp">링크</a>
주소계산 : http://localhost/store/book/ + detail.jsp
이동할 url -> http://localhost/store/new.jsp
<a href="../new.jsp">링크</a> ../ -> 한단계 위로
주소계산 : http://localhost/store/ + new.jsp
이동할 url -> http://localhost/store/user/info.jsp
<a href="../user/info.jsp">링크</a> ../ -> 한단계 위로
주소계산 : http://localhost/store/ + user/info.jsp
브라우져의 주소표시줄에 표시된 주소
http://localhost/store/book/list.jsp
이동할 url -> http://localhost/store/book/detail.jsp
<a href="/store/book/detail.jsp">링크</a>
주소계산 : http://localhost + /store/book/detail.jsp
이동할 url -> http://localhost/store/new.jsp
<a href="/store/new.jsp">링크</a>
주소계산 : http://localhost + /store/new.jsp
이동할 url -> http://localhost/store/user/info.jsp
<a href="/store/user/info.jsp">링크</a>
주소계산 : http://localhost + /store/user/info.jsp