my code archive
my code archive
article thumbnail
[국비학원 기록/Spring] 트랜잭션(Transaction), 두 개의 계좌에 대한 동시 계좌이체 구현 예제

트랜잭션 하니 예전에 오라클 배울 때 적어두었던 필기가 생각나서..ㅎㅎ 트랜잭션은 역시 계좌이체가 대표적인 예시인가... 트랜잭션(Transaction) 1.트랜잭션(Transaction) 1)여러 개의 DML 명령문을 하나의 논리적인 작업 단위로 묶어서 관리 2)All 또는 Nothing 방식으로 작업을 처리 -> 작업의 일관성 유지 3)웹 애플리케이션에서 Service 클래스의 각 메서드가 애플리케이션의 단위 기능 수행 2.단위 기능의 예 1)게시글 조회 시 해당 글을 조회하는 기능과 조회 수를 갱신하는 기능 2)쇼핑몰에서 상품 주문 시 주문 상품을 테이블에 등록하는 기능과 주문자의 포인트를 갱신하는 기능 3)은행에서 이체 시 이체자의 잔고를 갱신하는 기능과 수신자의 잔고를 갱신하는 기능 3. 스프링..

article thumbnail
[국비학원 기록/Spring] 마이바티스 MyBatis Framework 사용, 회원 정보 조회, 수정, 삭제 예제

MyBatis 1. MyBatis 개요 1)자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크 2)SQL을 별도 파일로 분리해서 관리 --> SQL문과 자바 코드의 분리 3)SQL문을 그대로 이용하면서 도메인 객체나 VO 객체 중심으로 개발 가능 4)퍼시턴트 프레임워크 5)XML형태로 서술된 JDBC 코드라고 할 수 있을 정도로 JDBC 모든 기능을 제공함 2. MyBatis 주요 컴포넌트 1)MyBatis 설정 파일(SqlMapConfig.xml) -DB 접속 주소 정보, Mapping 파일 경로 등 고정된 환경 정보 설정 2)Mapping 파일 3)SqlSessionFactoryBuilder 4)SqlSessionFactory 5)SqlSession -핵심적인 역할하..

article thumbnail
[국비학원 기록/Spring] 스프링 MVC 패턴, model1, model2

MVC 1. MVC(Model-View-Controller) 패턴 1)아키텍쳐 패턴 2)Business logic과 Presentation logic을 분리하기 위한 목적. 3)사용자 인터페이스로부터 비즈니스 로직을 분리 ==>시각적 요소와 그 이면에서 실행되는 비즈니스 로직이 서로 영향없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있음. 4)Model : 애플리케이션의 정보(데이터, Business Logic 포함) View : 사용자에게 제공할 화면(Presentation Logic) Controller : Model과 View 사이 상호 작용을 관리 2. MVC 컴포넌트 역할 1)모델(Model) 컴포넌트 -데이터 저장소(DB)와 연동 -사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 ..

article thumbnail
[국비학원 기록/Spring] 의존성 주입, setter, 생성자 예제

의존성 주입 1. 의존성 주입 1)개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이너가 연관 관계를 직접 규정하는 것. 2)각 클래스들의 변경이 자유로워짐(loosely coupled, 약한 결합) 3) 예 -쇼핑몰의 경우 상품 관리, 주문 관리, 회원 관리, 게시판 관리 등 구성. -서로 관련 있는 기능들은 강하게 결합(tightly coupled)하고, 관련이 없는 기능들은 약하게 결합(loosely coupled)해야 좋은 프로그램. 2. 의존성 주입 장점 1)코드를 단순화할 수 있다. 2)애플리케이션 더 쉽게 유지 및 관리 가능 3)기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어했지만 의존성 주입은 객체의 생성, 소멸과 객체간의 의존 관계를 컨테이너..

article thumbnail
[국비학원 기록/Spring] IoC, DI, AOP 개념 정리, 예제

필요한 용어 정리 1)의존성 주입(DI, Dependency Injection) -클래스 객체를 개발자가 코드에서 생성하지 않고 프레임워크가 생성하여 사용하는 방법 2)제어 역행(IoC, Inversion of Control) -서블릿이나 빈 등을 개발자가 코드에서 생성하지 않고 프레임워크가 직접 수행하는 방법 3)관점 지향(AOP, Aspect-Oriented Programming) -핵심 기능 외 부수 기능들을 분리 구현함으로써 모듈성을 증가시키는 방법 IoC IoC (Inversion of Control) : 제어의 역전 -인스턴스 생성 ~ 소멸까지의 인스턴스 생명 주기 관리를 개발자가 아닌 컨테이너가 대신 해줌.(역전) -컨테이너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 코드가..

[국비학원 기록/Spring] 프레임워크란?

프레임워크 시작하기 1. SW 재사용 방안 -복사, 붙이기 -메서드 정의, 호출 -클래스 재사용(상속) -AOP (Aspect Oriented Programming) : 로깅, 보안 2. 디자인 패턴 -GoF(Gang of Four) - Design Patterns : 재사용 가능한 객체 지향 소프트웨어 요소 -구조적인 가이드라인 -구현된 기반 코드를 제공하지 않음 3. 프레임워크 1)비기능적 요구사항(성능, 보안, 확장성, 안정성)을 만족하는 구조와 구현된 기능 2)비기능적 요소들을 초기 개발 단계마다 구현해야 하는 불편함 개선 3)기능적인 요구사항에 집중할 수 있도록 해줌. 4)기반 클래스 라이브러리, 구현 코드 제공 4. 디자인패턴 & 프레임워크 -디자인패턴은 프레임워크의 핵심적인 특징 -프레임워크..

article thumbnail
[국비학원 기록/DB] 오라클 계층형 SQL 구문 형태, 사용 방법
📒 education archive/💾DB 2021. 12. 23. 11:45

계층형 질의(Hierachical query) 1. 계층형 질의 -테이블에 계층형 데이터가 존재하는 경우 조회하기 위해 계층형 질의를 사용 -계층형 데이터 : 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 말함. 쉽게 말해서 학교 데이터를 조회하면 6학년부터 1학년 순서로 혹은 1학년부터 6학년 순서로 조회하는 것.... 2. 오라클 계층형 SQL select from table wher start 조건: 계층 구조 전개의 시작 위치를 지정하는 구문. 루트 데이터 지정함. connect by prior A and B: connect by -전개될 자식 데이터를 지정하는 구문. prior (PK,자식) = (FK, 부모) -계층 구조에서 부모 데이터에서 자식 데이터 방향으로 전개 prior..

article thumbnail
MVC 패턴 model2 방식 - 회원 정보 조회, 수정, 삭제

Web Application model1, model2 1. Model1 (모델1) 방식 -모든 클라이언트의 요청과 비즈니스 로직 처리를 JSP에서 담당하는 구조 -기능 구현이 쉽고 편리, but 유지 보수가 어려워서 큰 프로젝트에서는 한계가 있다. 2. Model2 (모델2) 방식 -각 기능을 분리해서 구현 ->클라이언트의 요청 처리 및 흐름 제어 담당 (Controller) => 서블릿 ->응답 처리 (화면 기능) (View) => JSP ->비즈니스 로직 처리 (Model) => DAO -각각의 기능을 모듈화하여 개발 => 재사용이 용이하다. -유지 보수가 쉽다. -publisher와 개발자 작업 분업화 MVC 디자인 패턴 -Model - View - Controller -Controller 서블릿..

반응형
반응형