Java

· Java
쌍용 강북 교육센터 국비학원 Day 40일차 어제에 이어서 JDBC를 이용해 종합적으로 게시판 모듈 로직을 짜는중이다. DAO, DTO, 싱글톤패턴, Transaction 처리 등 여태까지 배워왔던 것들을 활용해서 만드는 게시판이다. 게시글 작성, 삭제, 열람, 수정, 댓글 작성 등등 코드가 워낙 많아 파일로 대체함.
· Java
쌍용 강북 교육센터 국비학원 Day 39일차 Transaction (트랜잭션) 처리 데이터베이스의 데이터를 수정하는 도중에 예외가 발생된다면 DB의 데이터들은 수정이 되기 전의 상태로 다시 되돌아가져야 하고, 다시 수정 작업이 진행되어야 할 것이다. 이렇듯 여러 작업을 진행하다가 문제가 생겼을 경우 이전 상태로 롤백하기 위해 사용되는 것이 트랜잭션(Transaction) 이다. Transaction(트랜잭션) 이라 함은 데이터베이스의 상태를 변환시키기 위하여 논리적 기능을 수행하는 하나의 작업단위를 말한다. 즉, 관련된 일련의 DML로 이루어진 한세트를 말한다. (트랜잭션은더 이상 쪼갤 수 없는 최소 작업 단위를 의미한다.) Transaction 처리에서 가장 중요한 것은 모든 DML문이 성공해야만 최종..
· Java
쌍용 강북 교육센터 국비학원 Day 38일차 싱글톤 패턴(Singleton pattern) 프로그래밍 세계에 OOP 의 개념이 생기면서 객체 자체에 대한 많은 연구와 패턴들이 생겨났다. Singleton Pattern은 인스턴스가 사용될 때에 매번 새로운 인스턴스를 만들어 내는 것이 아니라, 동일 인스턴스 1개만을 사용하도록 하는 것이다. 소프트웨어 디자인 패턴에서 싱글턴 패턴을 따르는 클래스란 ? 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나뿐이고, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴해준다. 이와 같은 디자인 유형을 가지는 클래스를 싱글톤 패턴을 따르는 클래스라고 한다. 그러므로 싱글톤 패턴을 따르는 클래스는 인스턴스가 사용될 때에 매번 새로운 인스턴스를..
· Java
쌍용 강북 교육센터 국비학원 Day 37일차 오라클 DB의 Exception을 자바에서 처리하는법 다음은 오라클에서 사용자가 정의한 예외이다. 오라클에서 명시적으로 이미 지정한 예외코드는 0 ~ -20000 이고 사용자가 정의한 에러코드의 코드번호는 -20000 ~ 에서부터 시작한다. 해당하는 에러코드를 getErrorCode( ) 로 가져와 그대로 예외처리를 해주면 된다. Errorcode 1은 오라클에서 Primary Key가 중복되었을때 나오는 에러코드 (제약조건의 위배) 이므로 자바에서는 그대로 가져와 출력만 다르게 (세부화) 해주었다. 나머지 20004,과 20003 도 오라클에서 이미 정의한 예외를 가져와서 처리해주었다. 데이터 처리 순서 사용자 (USER)가 데이터를 입력해 DTO에 넣어 전..
· Java
쌍용 강북 교육센터 국비학원 Day 36일차 JDBC 2일차 지난시간에 이어서 다음은 SQL문이 Select문에 where 절을 사용했을 경우의 예제이다. 해당 테이블은 1.글번호, 2.글쓴이, 3.글내용, 4.작성일자 총 4가지 컬럼으로 구성된 테이블이다. sql문 where절에서 컬럼을 선택하듯이 switch문으로 해당컬럼을 선택받는다. 실제 컬럼이름을 변수에 담아서 그대로 사용할 수 있게 대입해준다. 컬럼명마다 where 조건절의 문법이 조금 상이할 수 있으니 컬럼마다 조건에 맞게 if문을 작성해준다. 이하 로직은 어제와 동일하기 때문에 생략. CallableStatement CallableStatement 인터페이스는 Connection 객체의 prepardCall () 메소드를 사용해서 객체를 ..
· Java
쌍용 강북 교육센터 국비학원 Day 35일차 JDBC (Java Data Base Connectivity) 프로그래밍 자바프로그램이 데이터베이스와 연결되어 데이터를 주고 받을 수 있게 해주는 프로그래밍 인터페이스이다. 다음은 SQL문이 DML, DDL일 경우인 JDBC의 한 예제이다. 먼저 오라클에서 계정생성과 권한부여가 이뤄져야 한다. 이후 자바에서 프로그래밍을 한다. 다음프로그램으로 방화벽 설정을 서로 허용한경우 각자의 IP로 연결된 DB를 사용할 수 있다. 다음은 SQL문이 DQL문 (Select문) 일 경우이다. Select된 결과물을 저장하는 ResultSet 객체를 이용해서 (변수명 rs) 작성한다. DB의 Select문을 읽어와서 자바에서 보여주는 로직이다. ResultSet 객체를 이용한 ..
· Java
쌍용 강북 교육센터 국비학원 Day 22일차 Stream Stream 이란 프로그램은 외부에서 데이터를 읽거나 외부로 데이터를 출력하는 작업이 빈번하게 일어난다. 이때 데이터는 어떠한 통로를 통해서 데이터가 이동되는데, 이 통로를 Stream 이라고 한다. 자바에는 이러한 기능을 수행하기 위해 InputStream와 OutputStream이 존재하며 단일 방향으로 연속적으로 흘러간다. InputStream과 OutputStream은 추상 클래스이며 추상 메소드를 오버라이딩해서 다양한 역할을 수행할 수 있다. (예 : 파일, 네트워크, 메모리 입출력) 자바에서 기본적으로 제공하는 I/O 기능은 java.io 패키지에서 제공된다. InputStream은 외부에서 데이터를 읽는 역할을 수행하고, OutputS..
· Java
쌍용 강북 교육센터 국비학원 Day 21일차 FileOutputStream InputStream 를 상속받았으며, 키보드 혹은 지정된 경로로부터 바이트를 읽어, 바이트 단위로 출력할 수 있는 클래스이다. Node 스트림 (접속점)이 파일이며 1 byte 기반 출력 스트림이다. 만약에 입력받은 경로 혹은 지정한 경로에 파일이 없다라면 파일을 자동으로 생성해준다. (해당폴더는 존재 해야한다) 두번째 파라미터인 append 가 true 인 경우는 첫번째 파라미터인 해당파일경로에 (fileName 에는 이미 경로를 지정한 String 타입을 넣었다) 이미 내용물이 적혀 있는 경우일때 기존내용물은 그대로 두고 기존내용뒤에 새로운 내용을 덧붙여 추가하겠다는 말이다. 두번째 파라미터인 append 가 false 인 ..
· Java
쌍용 강북 교육센터 국비학원 Day 20일차 IO (InputStream, OutputStream) 한 곳에서 다른 곳으로의 데이터 흐름을 Stream (스트림)이라고 한다. 그리고 스트림은 단방향이기 때문에 입력과 출력이 동시에 발생할 수 없다. 그렇기 때문에 용도에 따라 입력스트림, 출력스트림이 나뉜다. (물론 꼭 입력장치나 출력장치가 하드웨어일 필요는 없다. 다만, 이해를 돕기 위해 가장 보편적인 흐름을 보여준 것이다.) 쉽게 접해볼 수 있는 가장 대표적인 System에 대해서 알아보자 System.in : 부모클래스가 추상클래스 InputStream(기본 입력 스트림) 타입인 것으로서 접속점 (Node, 빨대)이 키보드인 1 byte 기반 입력 스트림이다. - System.in 의 주요메소드 (S..
· Java
쌍용 강북 교육센터 국비학원 Day 19일차 Properties Properties 는 HashMap의 구버전인 Hashtable을 상속받아 구현한 것으로, Hashtable 은 키와 값(Object, Object)의 형태로 저장하는데 비해서 Properties 는 (String 키, String 밸류값)의 형태로 저장하는 단순화된 컬렉션 클래스이다. 키는 고유해야 한다. 즉, 중복을 허락하지 않는다. 중복된 값을 넣으면 마지막에 넣은 값으로 덮어씌운다. 주로 어플리케이션의 환경설정과 관련된 속성 (property)을 저장하는데 사용되며, 데이터를 파일로 부터 읽고 쓰는 편리한 기능을 제공한다. 와일드카드 제네릭이 등장했지만 오히려 실용성이 떨어지는 상황들이 생기면서, 모든 타입을 대신할 수 있는 와일드..
developer_SIK
'Java' 카테고리의 글 목록