Knowledge

[Knowledge] iBatis & myBatis 사용 개념-1

Jeong Jeon
반응형
  1. Maven Project : jdk1.8, Dynamic web-module3.1, tomcat 8.5

  2. plugins 설정 (배포관련)

  3. 필요 라이브러리 dependencies를 통해 가지고 온다.

            • ojdbc6.jar,  iBatis 2.x, myBatis 3.x, log4j.jar(1.2.17이상버전) (mvn repository에서 검색해서 다운)

 

iBatis

myBatis

로그처리

<dependency><groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

</dependency>

ojdbc6

두개 공통

<repositories>

oracleORACLE JDBC Repositoryhttp://maven.jahia.org/maven2

</repository>

</repositories>

 

<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>12.1.0.2</version>

</dependency>

라이브러리

<dependency>   <groupId>org.apache.ibatis</groupId>   <artifactId>ibatis-sqlmap</artifactId    <version>2.3.4.726</version>

</dependency>

<dependency>   <groupId>org.mybatis</groupId>   <artifactId>mybatis</artifactId> <version>3.4.6</version>

</dependency>

dailyrollingfileappender검색

sqlmapconfig 다운 : https://code.google.com/archive/a/eclipselabs.org/p/mybatiseditor/downloads

mybatis xml 설정 : 3.0config로 사용

 

<ibatis & mybatis 차이점>

iBatis myBatis

Reader reader = Resources.getResourceAsReader(path);

sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);

Reader reader = Resources.getResourceAsReader(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

<!-- ibatis setting값 설정 -->

<settings useStatementNamespaces="true"/><!-- xml에 namespace를 사용하게 만든다 -->

<!-- transaction에 관련되있는 설정 및 접속정보와 datasource의 설정 -->

<transactionManager type="JDBC" commitRequired="true">

<dataSource type="Simple">

<property name="JDBC.Driver" value="${driver}"/>

<property name="JDBC.ConnectionURL" value="${url}"/>

<property name="JDBC.Username" value="${user}"/>

<property name="JDBC.Password" value="${pw}"/>

</dataSource>

</transactionManager>

<!-- 사용할 statements(쿼리) xml 연결 -->

<sqlMap resource="com/min/edu/ibatis/Statement_Select.xml"/>

<!-- DB접속 -->

<environments default="development">

<environment id="development">

<transactionManager type="JDBC"/>

<dataSource type="POOLED">

<property name="driver" value="${driver}"/>

<property name="url" value="${url}"/>

<property name="username" value="${user}"/>

<property name="password" value="${pw}"/>

</dataSource>

</environment>

</environments>

<!-- 쿼리를 사용하기 위한 xml파일 선언 연결 -->

<mappers>

<mapper resource="com/min/edu/mybatis/Statement_select.xml"/>

</mappers>

SELECT SEQ , ID, NAME, ADDRESS , JOIN_DATE

FROM JOINUSER

WHERE SEQ='5';



<form action = '' method='post'>

<input type='text' value = '5' name='seq'/>

<input type='submit' value = '검색'/>

</form>

OCP 구조(개발을 하기위한 작성 방법)로 만든것 (interface -> service -> interface(dao) -> dao -> PL실행(ibatis)

-> <select id= "s1" parameterClass="java.lang.String"> (쿼리) </select>

resultClass에 dto.java의 주소를 전부다 넣어줘야됬는데 그걸 편하게 Alias라는 태그를 사용해서 쓰면 편하기때문에 사용

select 태그에서 parameterClass는 String으로 넣어줄거니까 java.lang.String으로 사용

// 만약 한개의 값만 사용할거라면 Integer로도 사용가능하다.

기본이니까 알아둬라

*******************

OCP (Open Closed Principle 개폐의 원칙)

: 열고닫음, 사용하는 객체의 접근을 열고(수정 혹은 작성) 닫음(사용) 기본이다

 

처음 프로그래밍 배웠을때 정리해놓은거라 부족한 내용이지만 ...뭐..ㅎ

반응형