mysql 샘플 테이블 + 쿼리 연습 문제

http://java-school.net/jdbc/SQL-SELECT-Statement CREATE TABLE DEPT (     DEPTNO DECIMAL ( 2 ),     DNAME VARCHAR ( 14 ),     LOC VARCHAR ( 13 ),     CONSTRAINT PK_DEPT PRIMARY KEY ( DEPTNO ) ); CREATE TABLE EMP (     EMPNO DECIMAL ( 4 ),     ENAME VARCHAR ( 10 ),     JOB VARCHAR ( 9 ),     MGR DECIMAL ( 4 ),     HIREDATE DATE ,     SAL DECIMAL ( 7 , 2 ),     COMM DECIMAL ( 7 , 2 ),     DEPTNO DECIMAL ( 2 ),     CONSTRAINT PK_EMP PRIMARY KEY ( EMPNO ),     CONSTRAINT FK_DEPTNO FOREIGN KEY ( DEPTNO ) REFERENCES DEPT ( DEPTNO ) ); CREATE TABLE SALGRADE (     GRADE TINYINT ,     LOSAL SMALLINT ,     HISAL SMALLINT ); INSE...

iBatis, MyBatis 차이점

1       Ibatis에서 MyBatis로 변경된 이유
Ø  Apache project팀에서 google code팀으로 이동하면서 명칭이 변경됨.

2       차이점
2.1      Java 요구 버전
Ø    iBatis에서는 JDK 1.4 이상에서 사용 가능 MyBatis에서는 JDK 1.5 이상 사용 가능.
2.2      패키지 내부 구조가 변경되었음.
Ø    ibatis : com.ibatis.*
Ø    MyBatis : org.apache.ibatis.*
2.3      sqlMap.xml 내부 구조가 변경되었음.
Ø    parameterMap 사용 못함. -> parameterType으로 대체.
Ø    dtd가 변경 (“http://mybatis.org/dtd/mybatis-3-mapper.dtd”>
Ø    사용 용어의 변경
SqlMapConfig
Configration
sqlMap
Mapper
resultClass
resultType

2.4      MyBatis lib 별도 제공
Ø    Maven Dependency Information 예시
<dependency>
    <groupId>org.mybatis</groupId>
   <artifactId>mybatis</artifactId>
   <version>3.2.2</version>
</dependency>

<dependency>
   <groupId>org.mybatis</groupId>
   <artifactId>mybatis-spring</artifactId>
    <version>1.2.0</version>
</dependency>

2.5      Annotation 도입
Ø    sqlMapClient DI 설정 불필요
Ø    간편해짐
Ø    Bean id sqlSesstionFactory, sqlSesstionTemplate만 지정하면 됨.
2.6      rowHandler 대체
Ø    xml및 대량 데이터 처리를 위해 사용되었던 rowHandler가 삭제
Ø    rowHandler -> resulthandler로 변경됨
Ø    자바 annotation을 사용하여 xml을 사용하지 않고 자바로만 할 수 있게 됨.
Ø    자바 선언 보다 xml 선언이 우선순위를 가짐.
2.7      네임스페이스 방식 변경
Ø    ibatis : <sqlMap namespace=”User”>
Ø    MyBatis : <mapper namespace=”myBatis.mapper.UserMapper”>
Ø    네임스페이스 사용은 필수, userStatementNameSpace설정 제거
2.8      동적 SQL – XML 엘리먼트
Ø    If, choose(when, otherwise), trim (whre,set), foreach
2.9      동적 SQL – Provider annotation
Ø    @SelectProvider(type=CommentSqlProvider.class, method=”selectCommentByCondition”)
2.10    캐시 지원.
2.11    (스프링 연동모듈) mapper 자동 검색


3       변경되거나 추가된 속성들 (종합)
4       iBatis
MyBatis
비고
com.ibatis.*
org.apache.ibatis.*
패키지 구조 변경
SqlMapConfig
Configration
용어변경
sqlMap
mapper
용어변경
sqlMapClient
sqlSession
구문대체
rowHandler
resultHandler
구문대체
resultHandler
SqlSessionFactory
구문대체
parameterMap, parameterClass
parameterType
속성 통합
resultClass
resultType
용어변경
#var#
#{var}
구문대체
$var$
${var}
구문대체
<isEqual> , <isNull>
<if>
구문대체




출처: http://uwostudy.tistory.com/19 [UWO스터디]