에버노트 원본 (사진포함)

==> https://www.evernote.com/shard/s350/sh/369183bf-a093-46a2-a70a-e2f9dc30853b/6ed9a67d2ff2b9ff2ea61f0eac93bc91


-------------------------------------------------------------------------------------------------------------------------------------------------


2017.04.12 수

MyBatis
MyBatis Maven 추가

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>

mapper.xml : SQL문을 포함하고있는 XML
sqlMapConfigxml : MyBatis config 포함
       - DataSource(Connection pooling) 정보
       - VO(Value Object)객체의 클래스명 기술
       - 

OR Mapping(Object Relational Mapping)










MyBatis3 만 사용한경우
sqlConfigMapping 
1) DB접근정보
2) sql Mapper 설정 경로
3) VO 객체 정보



보라색 : 개발자
파란색 : MyBatis Spring 연동 API (SqlSessionFactory, SqlSessionTemplate)
노란색 : 

SqlSessionFactoryBean



public class MyBatisTest {
@Autowired
@Qualifier("dataSourceDBCP")
DataSource ds;

@Autowired
ApplicationContext context;

@Autowired
SqlSession session;

@Test
public void sql(){
UserVO vo = new UserVO("ex1", "CHOI", "여", "분당");

// int cnt = session.update("userNS.updateUser", vo);
int cnt2 = session.insert("userNS.insertUser",vo);
System.out.println("갱신된 건수 : " + cnt2);

List<UserVO> userList = session.selectList("userNS.selectUserList");
for(UserVO user:userList){
System.out.println(user.toString());
}
System.out.println("---->single Row");
UserVO user = session.selectOne("userNS.selectUserById","JEONG");
System.out.println(user);
}











Code 재사용
1. Copy& Paste
2. 함수, 메서드
3. 상속
4. AOP

AOP(Aspect Oriented Programming) - 관점지향 프로그래밍

ㅇ Aspect  = Advice + PointCut
Advice : 타겟에 제공할 부가기능(로깅,보안 등)을 담고 있는 클래스(모듈)
PointCut : 부가기능을 제공할 핵심기능을 선택(선별)하는 정규표현식 (표현식 execution. 메서드의  Signature를 비교하는방법 주로 사용)
Target : 업무 로직을 담고있는 핵심기능 부가기능을 적용할 대상
JoinPoint : 타겟의 핵심기능에 해당되는 클래스의 메서드/ 어드바이스가 적용될 수 있는 위치
Weving : 포인트컷에 의해서 결정된 타겟의 조인 포인트에 부가기능(어드바이스)을 삽입하는 과정
 AOP가 핵심기능(타겟)의 코드에 영향을 주지 않으면서 필요한 부가기능(어드바이스)을 추가할 수 있도록 해주는 핵심적인 처리과정






'IT > SPRING' 카테고리의 다른 글

[파일] 스프링 정리  (0) 2017.04.29
[링크] Spring 관련 API  (0) 2017.04.29
[교육] Spring Framework 교육 (4일차)  (0) 2017.04.29
[교육] Spring Framework 교육 (2일차)  (0) 2017.04.29
[교육] Spring Framework 교육 (1일차)  (0) 2017.04.29

+ Recent posts