목록분류 전체보기 (89)
가희의자기개발블로그
동적 SQL엘리먼트들을 JSTL이나 XML기반의 텍스트 프로세서를 사용해 본 사람에게는 친숙할 것이다. 마이바티스의 이전 버전에서는 알고 이해해야 할 엘리먼트가 많았다. 마이바티스의 다른 엘리먼트의 사용을 최대한 제거하기 위해 OGNL기반의 표현식을 가져왔다. 01_ IF 동적 SQL에서 가장 공통적으로 사용되는 것으로 where의 일부로 포함될 수 있다. SELECT * FROM BLOG WHERE state = ‘ACTIVE’ AND title like #{title} 이 구문은 선택적으로 문자열 검색 기능을 제공할 것이다. 만약에 title값이 없다면 모든 active 상태의 Blog가 리턴될 것이다. 하지만 title 값이 있다면 그 값과 비슷한 데이터를 찾게 될 것이다. title과 author..
마이바티스의 가장 큰 장점은 매핑구문이다. SQL Map XML 파일은 상대적으로 간단하다. 더군다나 동일한 기능의 JDBC 코드와 비교하면 95퍼센트 이상 코드수가 감소하기도 한다. 마이바티스는 SQL을 작성하는데 집중하도록 만들어졌다. 01_SELECT SELECT 구문은 마이바티스에서 가장 흔히 사용할 엘리먼트이다. 데이터베이스에서 데이터를 가져온다. 아마도 대부분의 애플리케이션은 데이터를 수정하기보다는 조회하는 기능이 많다. 그래서 마이바티스는 데이터를 조회하고 그 결과를 매핑하는데 집중하고 있다. 조회는 다음 예제처럼 단순한 경우에는 단순하게 설정된다. SELECT * FROM PERSON WHERE ID =#{id} 이 구문의 이름은 selectPerson이고 int 타입의 파라미터를 가진다...
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner scan = new Scanner(System.in); String[] minus = scan.nextLine().split("-"); int min = 0; f..
import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int totalA = scanner.nextInt(); int[][] arr = new int[totalA][2]; for (int i = 0; i < totalA; i++) { arr[i][0] = scanner.nextInt(); arr[i][1] = scanner.nextInt(); } Arrays.sort(arr, new Comparator() { @Override publ..
마이바티스 XML 설정파일은 다양한 설정과 프로퍼티를 가진다. 문서의 구조는 다음과 같다. configuration properties settings typeAliases typeHandlers objectFactory plugins environments environment transactionManager dataSource databaseIdProvider mappers 1. typeAliases 타입 별칭은 자바 타입에 대한 짧은 이름이다. 오직 xml 설정에서만 사용되며, 파이핑을 줄이기 위해 존재한다. 이 설정에서 "member"는 여러군데서 "member.dto.MemberDTO"를 대신 사용할 수 있다. 마이바티스가 빈을 찾도록 패키지를 명시할수 있다. 위 예시는 mapper.xml파일..
01_소개 형제 노드란? 같은 깊이에 있는 노드를 말한다. 02_핵심내용 02_1 이전 형제 노드 찾기 $대상.prev() $대상.prevAll(["선택자"]) 특정 노드의 이전 형제 노드를 찾고 싶은 경우 prev()를 사용한다. 만약 prev()를 연속 두 번 호출하면 이전의 이전 형제 노드에 접근할 수 있다. $대상.next() $대상.nextAll(["선택자"]) next() 메서드는 prev()메서드와 반대되는 메서드로서 특정 노드의 바로 다음에 있는 현제 노드를 찾고 싶을 때 사용한다.
1_ 설치 마이바티스를 사용하기 위해 mybatis-xxx.jar파일을 클래스패스에 두어야 한다. 아래 사이트에서 jar파일을 다운받는다. https://blog.mybatis.org The MyBatis Blog A blog about the the MyBatis data mapper framework. blog.mybatis.org Products ->MyBatis3 다운로드 2_ XML에서 SqlSessionFactory 빌드하기 모든 마이바티스 애플리케이션은 SqlSessionFactory 인스턴스를 사용한다. SqlSessionFactory인스턴스는 SqlSessionFactoryBuilder를 사용해 만들 수 있다. SqlSessionFactoryBuilder는 XML설정파일에서 SqlSess..
01_ 소개 부모 노드란? 특정 노드를 감싸고 있는 바로 위의 상위 노드를 의미한다. 또, 조상 노드느 특정 노드를 감싸고 있는 모든 노드를 의미한다. 02_ 핵심 내용 02_1 부모 노드 찾기 $대상.parent() 특정 노드의 바로 상위 노드인 부모 노드를 찾고 싶은 경우 parent()메서드를 사용한다. 02_2 조상 노드 찾기 $대상.parents(["선택자"]) 특정 노드의 모든 조상 노드를 찾고 싶은 경우 parents()메서드를 사용한다. 이때, 일반 jQuery메서드와 마찬가지로 선택자를 이용하면 특정 조상 노드만을 쉽게 찾을 수 있다.