본문 바로가기

Spring JDBC4

[Spring] 스프링 JDBC와 OJDBC의 차이 OJDBC와 Spring JDBC의 차이 OJDBC Connection, Prepared, Statement, Result Set 등 Open / Close 작성 필요함 Close 하지 않을 경우 메모리 누수 문제 OJDBC의 Statement를 사용함으로써 SQL Injection 위험이 따름 쿼리가 지저분해지며 추상화가 어려움 추상화가 어려우므로 수정 / 확장에 큰 어려움 발생 Connection-Pool 지원하지 않아 쿼리 수행 속도가 떨어짐 Connection을 필요할 때 마다 일일이 생성 하나의 Connection을 사용한다면 동시성 문제 발생 병목 현상이 지속적 발생 업무 단위의 Transaction이 지원되지 않음 단일 쿼리의 Transaction은 지원 ex) 출금 혹은 송금 등의 Tran.. 2016. 6. 14.
[Spring] 스프링 다이나믹 쿼리 Dynamic Query Dynamic Query Spring의 장점인 쿼리에서 조건문을 통해서 다른 조건이 대입해서 중복되는 쿼리들을 최소화 시킬 수 있다 문법은 JSTL과 비슷하다 # Dynamic Query 종류 if choose java의 else if 격 trim foreach 잘 사용되지 않지만 가끔 사용할 곳이 있다 # IF MyBatis에서 가장 많이 사용되는 요소, 파라미터로 받아온 값을 조건절로 걸러서 조건절 등을 추가할 때 사용한다 파라미터 타입 안에 다른 타입(클래스)가 포함되어 캡슐화를 이룰 경우 .(dot) 연산자로 변수 접근이 가능하다 # Choose else if 가 없기 때문에 choose로 사용된다 로 로 크게 감싸고 으로 조건을 걸고 로 기타를 거른다 # Trim (where, set) 여러 구.. 2016. 6. 13.
[Spring] 스프링 쿼리 Query Query # Insert 2016. 6. 13.
[Spring] 스프링 ORM 마이바티스 MyBatis ORM : MyBatis ORM (Object Relation Mapping) Object와 DB를 연동하기 위함 MyBatis를 위해서 VO를 테이블 구조와 같이 만듬 Mapping이란 CRUD를 뜻함 # 기존의 JDBC와의 차이점 VO에 필드명을 적으면 그거에 맞는 데이터가 Mapping이 된다 ResultSet을 통한 getInt 등을 할 필요가 없다 # ORM의 종류 MyBatis iBatis JPA Hibernate MyBatis와 iBatis 사용 빈도가 높음 # MyBatis 연동 Spring 4에서는 MyBatis/iBatis 연동 기능 포함되지 않음 대신 MyBatis가 Spring 연동 지원 iBatis는 지원하지 않는다 우선 pom.xml에서 추가를 한다 Build와 Dependenc.. 2016. 6. 12.