Notice
Recent Posts
Recent Comments
Link
Tags
- 트랜잭션#@Transacional#트랜잭션 bean#트랜잭션예제
- 동적쿼리if #checkbox검색#checkbox회원검색
- maven#maven환경설정#메이븐환경설정
- spring#형상관리#정규표현식#target
- mybatis-config.xml
- 동적쿼리 #mybatis동적쿼리
- 스프링트랜잭션
- oracle#DB#데이터베이스 이론
- 셀레니움 #selenium#셀레니움설치
- bean등록Annotation#annotaion#bean등록#DIAnnotaion
- project Package생성
- framework #프레임워크 #mybatis
- json #ajax #정보조회
- Spring MVC#Spring 구조 #Spring MVC Model
- java면접#IT기술면접
- spring#maven#스프링#메이븐
- Today
- Total
HongCat 개발 스토리
1. 프레임워크란? 본문
2019.12.02
1. 프레임워크
Framework란, 개발자가 소프트웨어를 개발함에 있어 코드를 구현하는 개발 시간을 줄이고, 코드의 재사용성을 증가시키기 위해 일련의 클래스 묶음이나 뼈대, 틀을 제공하는 라이브러리를 구현해 놓은 것.
->정리되지 않은 코드를 강제화 시켜서 미디어, 스크립트, css별로 나눌 수 있다.
2. 프레임워크의 특징
- 개발자가 따라야 하는 가이드를 제공한다.
- 개발할 수 있는 범위가 정해져 있다.
- 개발자를 위한 다양한 도구, 플러그인을 지원한다.
3. 장점
- 개발 시간을 줄일 수 있음
- 정형화 되어 있어 일정 수준 이상의 품질을 기대할 수 있음
- 유지보수가 쉬움
4. 단점
- 너무 의존하는 경우 개발자들의 능력이 떨어져서 스스로 직접 개발하는 것이 어려워짐
- 습득에 걸리는 시간이 필요함
5. 프레임워크의 종류
종류 | 설명 | 예시 |
영속성 프레임워크 | 데이터의 저장, 조회, 변경,삭제를 다루는 클래스 및 설정 파일들을 라이브러리화 하여 구현한 프레임워크 | mybatis, Hibernate |
자바 프레임워크 | JAVA EE를 통한 웹 어플리케이션 개발에 초점을 맞추어 필요한 요소들을 모듈화하여 제공하는 프레임 워크 | spring, 전자정부 표준,struts |
화면 구현 프레임워크 | front-end보다 쉽게 구현할 수 있게 틀을 제공하는 프레임워크 | bootstrap, foundation, MDL |
기능 및 지원 프레임워크 | 특정 기능이나 업무 수행에 도움을 줄 수 있는 기능을 제공하는 프레임워크 | Log4j, JUnit5 |
6. Mybaits
데이터의 입력, 조회, 수정, 삭제(CRUD)를 보다 편하게 사용하기 위해 xml로 구조화한 Mapper설정 파일을 통해서JDBC를 구현한 영속성 프레임워크
controller -> service -> dao -> Database
-> Mybatis 설정파일(dao에서 처리하던 것을 Mybatis 설정파일에서 처리한다)
7. Ibatis와 Mybatis
- Apache Project에서 ibatis를 운영하던 팀이2010년 5월 9일에 Google팀으로 이동하면서 Mybatis로 이름을 바꾸었다.
- Mybatis는 기존의 ibatis의 한계점이었던 동적 쿼리와 어노테이션 처리를 보강하여 더 나은 기능을 제공하고 있다.
- Ibatis는 현재 비활성화 상태이며, 기존에 ibatis로 만들어진 애플리케이션의 지원을 위해 라이브러리만 제공하고 있다.
Mybatis라이브러리 다운
8. Mybatis에서 사용하는xml파일
mybatis-config.xml
- Mybatis를 이용하기 위한 설정들이 저장 되어있는 파일
- xml파일 상단에 mybatis-config파일이 라는 선언문을 선언하여 사용한다
mapper.xml
- 실제 Database에서 수행 할 query문들을 저장하는 파일
- xml파일 상단에 mybatis-mapper파일이라는 선언문을 선언하여 사용한다
9. Mybatis-config.xml사용 태그
태그명 | 설명 | 예시 |
<configuration> | 최상위 태그로 내부에 필요한 설정들을 작성 | <configuration>.....</configuration> |
<setting> | Mybatis구동 시 선언할 설정들을 작성 | null값이 발생할 경우 빈칸이 아닌 null로 인식하라 |
<typeAliases> | Mybatis에서 사용할 자료형의 별칭을 선언 | <typeAliases> type에는 패키지 명까지 전부 기술해주어야 한다. </typeAliases> |
<mappers> | 사용하고자 하는 쿼리가 정의된 mapper파일을 등록한다. | <mappers></mappers> |
<environments> | Mybatis 에서 연동할 Database정보를 등록(JDBCTemplate에서 했던 코드들) |
<environments default="development"> environment id를 구분하여 연결한 DB를 여러 개 구성할 수 도 있다. </environments> |
<transactionManager> | -트랜잭션 관리를 누가 할 것인가에 대한 설정 -JDBC:JDBC commit과 rollback을 처리하기 위해 connection을 가지고 온다.(직접 처리) -MANAGED:commit과 rollback을 하지 않고, 대신 컨테이너가 트랜잭션을 관리하고 커넥션을 닫아주는 설정 |
|
<dataSource> | - 데이터 베이스 연결을 관리하는 설정 -POOLED:Connection객체를 pool영역에 저장해 두고 이후 Connection객체를 생성할 때 이를 재사용한다. -UNPOOLED:Connection객체를 별도로 저장하지 않고, 객체 호출 시 매번 새로 생성하여 사용 |
'FrameWork' 카테고리의 다른 글
4. Bean 등록 Annotaion (0) | 2019.12.06 |
---|---|
Maven 사용을 위한 이클립스 환경설정 (0) | 2019.12.05 |
3.Spring과 Maven (0) | 2019.12.05 |
동적쿼리 if문을 이용한 회원정보 조회 (3) | 2019.12.04 |
2. Mybatis 동적쿼리 (0) | 2019.12.04 |
Comments