전체 글
공부를 위해 사용중인 블로그입니다.
-
JavaBean이란? JavaBean은 JavaBean API Specification에 따른 Standard이다. 여기서 Standard란 보통 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이들 하는데 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용한다고 잘못된 것은 아니다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지키고 이를 Standard라고 한다. 예시로 import java.io.Serializable; public class Page implements Serializable { private String pageName; private int pageNum; public Page() { // no-argument con..
JavaBeanJavaBean이란? JavaBean은 JavaBean API Specification에 따른 Standard이다. 여기서 Standard란 보통 클래스이름은 CapitalCase로, 필드나 메서드 이름은 camelCase로 쓰라는 말을 많이들 하는데 사실 클래스 이름을 Capital Case가 아닌 다른 형식을 사용한다고 잘못된 것은 아니다. 하지만 개발자들 사이에서는 보통 이런 규칙을 지키고 이를 Standard라고 한다. 예시로 import java.io.Serializable; public class Page implements Serializable { private String pageName; private int pageNum; public Page() { // no-argument con..
2022.10.17 -
Map key와 Value의 쌍으로 값을 저장하는 컬렉션 대응관계를 쉽게 표현할 수 있게 해주는 자료형 보통 select를 사용하는 경우에 2개 이상의 테이블을 조인하여 조회하는 경우가 많아 VO로는 표현이 복잡하여 Map을 사용하며 Map의 경우는 변수명을 바꿔가면서 계속적으로 put 할 수가있다. Map map = new HashMap(); map.put("StartNum", 1) map.put("EndNum", 4) jdbc.queryForObject(쿼리문, map, 클래스(또는 rowMapper)); 단점 Map은 Key 또는 value가 null이면 Map의 해당 필드 자체를 Key로 가져가지 않는다 따라서, 쿼리 수행 시 key 값 자체가 존재하지 않아 오류가 발생한다. 여러 타입을 담아야 ..
Map, VO(Value Object)Map key와 Value의 쌍으로 값을 저장하는 컬렉션 대응관계를 쉽게 표현할 수 있게 해주는 자료형 보통 select를 사용하는 경우에 2개 이상의 테이블을 조인하여 조회하는 경우가 많아 VO로는 표현이 복잡하여 Map을 사용하며 Map의 경우는 변수명을 바꿔가면서 계속적으로 put 할 수가있다. Map map = new HashMap(); map.put("StartNum", 1) map.put("EndNum", 4) jdbc.queryForObject(쿼리문, map, 클래스(또는 rowMapper)); 단점 Map은 Key 또는 value가 null이면 Map의 해당 필드 자체를 Key로 가져가지 않는다 따라서, 쿼리 수행 시 key 값 자체가 존재하지 않아 오류가 발생한다. 여러 타입을 담아야 ..
2022.10.17 -
JAVA Spring Framework에서는 iBatis를 사용하여 DB에 접근하기 위해 SqlMapClientDaoSupport라는 DAO클래스를 사용한다. 그리고 SqlMapClientDaoSupport클래스는 실질적인 데이터 조작 및 접근을 위해 다음의 2가지 형태의 메서드를 제공하는데 그것이 getSqlMapClientTemplate() getSqlMapClient() 이다. 이 둘은 DB의 실질적인 데이터에 접근하여 처리하는 것에는 변함이 없지만 동작 처리 방식에는 차이가 있다. 예를 들어 둘다 동일한 메서드를 가지고 있고 INSERT하는 동작을 처리하는 코드를 작성했다고 한다면 두 메서드는 동일하게 iBatis의 INSERT를 처리하나 트랜젝션에 차이가 있다. getSqlMapClientTem..
getSqlMapClient / getSqlMapClientTemplateJAVA Spring Framework에서는 iBatis를 사용하여 DB에 접근하기 위해 SqlMapClientDaoSupport라는 DAO클래스를 사용한다. 그리고 SqlMapClientDaoSupport클래스는 실질적인 데이터 조작 및 접근을 위해 다음의 2가지 형태의 메서드를 제공하는데 그것이 getSqlMapClientTemplate() getSqlMapClient() 이다. 이 둘은 DB의 실질적인 데이터에 접근하여 처리하는 것에는 변함이 없지만 동작 처리 방식에는 차이가 있다. 예를 들어 둘다 동일한 메서드를 가지고 있고 INSERT하는 동작을 처리하는 코드를 작성했다고 한다면 두 메서드는 동일하게 iBatis의 INSERT를 처리하나 트랜젝션에 차이가 있다. getSqlMapClientTem..
2022.10.17 -
오버헤드(overhead)란? 프로그램의 실행흐름에서 나타나는 현상 중 하나로, 프로그램의 실행흐름 도중에 동 떨어진 위치의 코드를 실행시켜야 할 때, 추가적으로 시간, 메모리, 자원이 사용되는 현상을 말한다. 즉, 오버헤드는 특정 기능을 수행하는데 드는 간접적인 시간, 메모리 등 자원을 말한다. ex) 10초 걸리는 기능이 간접적인 원인으로 20초 걸리면 오버헤드는 10초가 되는것이다.
오버헤드(overhead)란?오버헤드(overhead)란? 프로그램의 실행흐름에서 나타나는 현상 중 하나로, 프로그램의 실행흐름 도중에 동 떨어진 위치의 코드를 실행시켜야 할 때, 추가적으로 시간, 메모리, 자원이 사용되는 현상을 말한다. 즉, 오버헤드는 특정 기능을 수행하는데 드는 간접적인 시간, 메모리 등 자원을 말한다. ex) 10초 걸리는 기능이 간접적인 원인으로 20초 걸리면 오버헤드는 10초가 되는것이다.
2022.10.14 -
List list = new ArrayList(); 위와 같이 ArrayList와 같은 구현체 클래스가 아닌 List라는 인터페이스로 ArrayList를 업캐스팅해서 선언하는지 알아보았다. 1. 나중에 데이터의 용도가 바뀌어 삽입/삭제가 유리한 LinkedList 자료구조로 변경해야 할 때 ArrayList list = new ArrayList(); 이렇게 ArrayList라는 인스턴스로 선언해두었다면 ArrayList로 선언된 모든 부분을 LinkedList로 변경해 주어야 하지만 List라는 인터페이스로 선언했다면 선언부 외에 다른 부분을 변경할 필요가 없는 유연함을 가지고 있다. 2. 대부분 ArrayList만이 제공하는 기능을 쓰지 않는다. 그렇기에 List로 선언해야 List에서 제공하는 메소드..
List로 선언해야하는 이유List list = new ArrayList(); 위와 같이 ArrayList와 같은 구현체 클래스가 아닌 List라는 인터페이스로 ArrayList를 업캐스팅해서 선언하는지 알아보았다. 1. 나중에 데이터의 용도가 바뀌어 삽입/삭제가 유리한 LinkedList 자료구조로 변경해야 할 때 ArrayList list = new ArrayList(); 이렇게 ArrayList라는 인스턴스로 선언해두었다면 ArrayList로 선언된 모든 부분을 LinkedList로 변경해 주어야 하지만 List라는 인터페이스로 선언했다면 선언부 외에 다른 부분을 변경할 필요가 없는 유연함을 가지고 있다. 2. 대부분 ArrayList만이 제공하는 기능을 쓰지 않는다. 그렇기에 List로 선언해야 List에서 제공하는 메소드..
2022.10.14 -
관계형 데이터베이스 관리시스템(RDBMS)이란? 데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서, 자료의 중복성을 제거하고 다른 특징들 중에 무결성, 일관성, 유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계이다. 하나 이상의 테이블을 포함할 수 있고, 테이블은 기본 저장 구조로서 현실에 필요한 데이터를 보유할 수 있습니다.
관계형 데이터베이스 관리시스템(RDBMS)관계형 데이터베이스 관리시스템(RDBMS)이란? 데이터베이스 내의 정보를 구성하는 컴퓨터 프로그램의 집합으로서, 자료의 중복성을 제거하고 다른 특징들 중에 무결성, 일관성, 유용성을 보장하기 위해서 자료를 제거하고 관리하는 소프트웨어 체계이다. 하나 이상의 테이블을 포함할 수 있고, 테이블은 기본 저장 구조로서 현실에 필요한 데이터를 보유할 수 있습니다.
2022.10.14 -
트리거(Trigger) 프로시저, 함수와 같이 블록구조가 유사하지만 프로시저, 함수는 외부적이 실행명령으로 실행되는 반면에 트리거의 실행은 데이터베이스 이벤트에 반응하여 실행되는 프로그램 단위로 DML문이 발생할 때 자동적으로 호출된다. ※ DML트리거(trigger)란? 더보기 더보기 DML 트리거는 DML 문(INSERT, UPDATE, DELETE)이 테이블의 하나 이상의 데이터에 영향을 미칠 때에 자동으로 실행되는 트리거로 프로시저나 함수는 사용자가 직접 호출해야만 하지만, 트리거는 오라클에서 사용자에게 알려주지 않고 자동으로 호출하여 처리한다. 트리거의 용도 테이블의 데이터 작업에 대한 감시, 보안 용도 테이블의 변화에 따라 필요한 다른 프로그램을 실행시킬 수 있다. 테이블 생성시에 참조 무결성..
TRIGGER트리거(Trigger) 프로시저, 함수와 같이 블록구조가 유사하지만 프로시저, 함수는 외부적이 실행명령으로 실행되는 반면에 트리거의 실행은 데이터베이스 이벤트에 반응하여 실행되는 프로그램 단위로 DML문이 발생할 때 자동적으로 호출된다. ※ DML트리거(trigger)란? 더보기 더보기 DML 트리거는 DML 문(INSERT, UPDATE, DELETE)이 테이블의 하나 이상의 데이터에 영향을 미칠 때에 자동으로 실행되는 트리거로 프로시저나 함수는 사용자가 직접 호출해야만 하지만, 트리거는 오라클에서 사용자에게 알려주지 않고 자동으로 호출하여 처리한다. 트리거의 용도 테이블의 데이터 작업에 대한 감시, 보안 용도 테이블의 변화에 따라 필요한 다른 프로그램을 실행시킬 수 있다. 테이블 생성시에 참조 무결성..
2022.10.14 -
데이터 정의언어 - (DDL : Data Definition Language) 테이블이나 관계의 구조를 생성하는데 사용하며 CRAETE / ALTER / DROP / TRUNCATE 문 등이 있다. 더보기 CREATE - 새로운 데이터베이스 관계(테이블) View, 인덱스, 저장 프로시저 만들기 DROP - 이미 존재하는 데이터베이스 관계 ( 테이블 ) , 뷰 , 인덱스 , 저장 프로시저를 삭제한다. ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경 , RENAME의 역할을 한다. TRUNCATE - 관계 ( 테이블 )에서 데이터를 제거한다. ( 한번 삭제시 돌이킬 수 없음.) 데이터 조작언어 - (DML : Data Manipulation Language) 테이블에 데이터 검색, 삽입, 수정,..
SQL 문법의 종류데이터 정의언어 - (DDL : Data Definition Language) 테이블이나 관계의 구조를 생성하는데 사용하며 CRAETE / ALTER / DROP / TRUNCATE 문 등이 있다. 더보기 CREATE - 새로운 데이터베이스 관계(테이블) View, 인덱스, 저장 프로시저 만들기 DROP - 이미 존재하는 데이터베이스 관계 ( 테이블 ) , 뷰 , 인덱스 , 저장 프로시저를 삭제한다. ALTER - 이미 존재하는 데이터베이스 개체에 대한 변경 , RENAME의 역할을 한다. TRUNCATE - 관계 ( 테이블 )에서 데이터를 제거한다. ( 한번 삭제시 돌이킬 수 없음.) 데이터 조작언어 - (DML : Data Manipulation Language) 테이블에 데이터 검색, 삽입, 수정,..
2022.10.14