728x90

java 24

JDBCTemplate

JDBCTemplate // JDBC과정 중 반복적으로 쓰이는 구문들을 각각의 메소드로 정의해둘 곳 // "재사용할 목적"으로 공통 템플릿 작업 진행 // 이 클래스에서의 모든 메소드들은 다 static 메소드로 만들것 // 싱글톤패턴 : 메모리영역에 단 한번만 올라간 것을 재사용한 개념 public class JDBCTemplate { // 공통적인 부분 뽑아내기 // 1. DB와 접속된 Connection 객체를 생성해서 반환시켜주는 메소드 public static Connection getConnection() { // Connection 객체를 담을 그릇 생성 Connection conn = null; // 연결시키기 => 1), 2) try { Class.forName("oracle.jdbc.d..

Programming/JAVA 2024.01.13

JDBC Statement 처리순서

MVC 패턴 / ojdbc6.jar / Statement 와 PreparedStatement / ClassNotFoundException 1. MVC 패턴 Model 데이터와 관련된 역할. 데이터를 담는다거나, DB에 접근해서 데이터 입출력 View 사용자가 보게 될 시각적인 요소 / 화면 (입력, 출력) Controller 사용자의 요청을 받아서 처리 후 응답 jaynarecord.tistory.com JDBC 처리순서 / 오라클 oracle 연동 MVC 패턴 / ojdbc6.jar / Statement 와 PreparedStatement / ClassNotFoundException 1. MVC 패턴 Model 데이터와 관련된 역할. 데이터를 담는다거나, DB에 접근해서 데이터 입출력 View 사용자가..

Programming/JAVA 2024.01.13

JDBC 처리순서 / 오라클 oracle 연동

MVC 패턴 / ojdbc6.jar / Statement 와 PreparedStatement / ClassNotFoundException 1. MVC 패턴 Model 데이터와 관련된 역할. 데이터를 담는다거나, DB에 접근해서 데이터 입출력 View 사용자가 보게 될 시각적인 요소 / 화면 (입력, 출력) Controller 사용자의 요청을 받아서 처리 후 응답 jaynarecord.tistory.com JDBC용 객체 - Connection: DB의 연결정보를 담고 있는 객체 - (Prepared)Statement: 해당 DB에 SQL문을 전달하고 실행한 후 결과를 받아내는 객체 - ResultSet: 만일 실행한 SQL문이 SELECT문일 경우 조회된 결과들이 담겨있는 객체 JDBC 처리 순서 1) ..

Programming/JAVA 2024.01.13

MVC 패턴 / ojdbc6.jar / Statement 와 PreparedStatement / ClassNotFoundException

1. MVC 패턴 Model 데이터와 관련된 역할. 데이터를 담는다거나, DB에 접근해서 데이터 입출력 View 사용자가 보게 될 시각적인 요소 / 화면 (입력, 출력) Controller 사용자의 요청을 받아서 처리 후 응답화면을 지정하는 역할 - View 단에서만 출력문(System.out.println)를 사용한다. - Model의 DAO(Data Access Object)단에서만 DB에 직접적을 접근한 후 해당 SQL문 실행 및 결과를 받는다. 2. ojdbc6.jar 프로젝트 선택 후 마우스 오른쪽 클릭 -> Properties -> Java Build Path -> Libraries -> Add External JARs -> ojdbc6.jar가 있는 경로에서 jar 선택 -> Apply an..

Programming/JAVA 2024.01.13

[JAVA] BufferedReader / BufferedWriter / try ~ with ~ resource / FileOuputStream / ObjectOutPutStream

BufferedReader / BufferedWriter => 버퍼공간을 제공해서 한번에 모아뒀다가 한꺼번에 입출력 진행 => 속도 향상 목적의 보조 스트림 (BufferedXXX) 보조스트림클래스이름 객체이름 = new 보조스트림클래스이름(기반스트림객체); => 보조스트림은 단독으로 존재할 수 없기 때문 try ~ with ~ resource 구문 - JDK7 버전 이상부터 가능 try(스트림객체생성;){ 예외가 발생할법한 구문 } catch(예외클래스이름 e){ 해당 예외가 발생했을 때 실행할 구문 } - 스트림객체를 try에 넣어버리면 스트림객체를 생성 후 해당 블록의 구문이 실행 완료되면 알아서 자원 반납이 된다. - 선언부분도 같이! - 객체 생성을 여러개 할 경우 마지막 생성부는 ; 붙여되고 ..

Programming/JAVA 2024.01.12

[JAVA] IO(Input & Output, 입출력) / 스트림(Stream)

프로그램 상의 데이터를 외부매체(모니터, 스피커, 파일)로 출력하거나 입력장치(키볻, 마우스, 마이크, 파일)로 입력받는 과정 => IO(Input & Output, 입출력) IO를 진행하고 싶다면 우선적으로 "반드시" 프로그램과 외부매체와의 "통로"를 만들어야 한다. => 스트림(Stream) 스트림의 특징 - 단방향 : 입력이면 입력, 출력이면 출력 입력용 스트림 따로, 출력용 스트림이 따로 존재 동시에 입출력을 하고자 한다면? -> 하나의 스트림으로는 불가능 -> 입력, 출력 스트림 둘다 가지고 있어야 함 - 선입선출(FIFO) : 먼저 전달한 값이 먼저 나오게 됨 => 큐(Queue) ( 순서대로 들어가서 나온다.) 시간이 지나면 문제가 발생할 수 있다. 스트림의 구분 - 통로의 사이즈 바이트 스..

Programming/JAVA 2024.01.12

[JAVA] 문자열을 배열로 분리시키기 / chatAt() / concat() / length() / substring() / replace() / trim() / toUpperCase() / toCharArray() / NoSuchelementException / hasMoreTokens() / countTokens() / foreach문

1. 문자열.charAt(int index) : 반환형 char => 문자열에서 전달받은 index 위치의 문자 하나만 뽑아서 리턴 String str1 = "Hell world"; char ch = str1.charAt(4); System.out.println("ch : "+ ch); // 결과: 공백 출력 2. 문자열.concat(String str) : 반환형 String => 문자열과 전달받은 또 다른 문자열을 하나로 합쳐서 리턴 => 문자열 + str String str1 = "Hell world"; String str2 = str1.concat("!!!!!"); System.out.println("str2 : " + str2); // 결과: Hell world!!!!! 3. 문자열.length..

Programming/JAVA 2023.12.29

[JAVA] Math 클래스 / 영어 문장의 첫글자를 대문자로 바꾸는 예제 / 문자열 비교 toString() / equals() / hashCode()

>> Math 클래스 - java.lang 이라는 패키지 안에 존재한다. - 모든 필드와 메소드가 다 static으로 되어있다. - 객체를 생성할 필요가 없으므로 생성자가 private이다. // 파이 => Math클래스 내에 상수필드로 정의되어있음 System.out.println("파이 " + Math.PI); // 메소드 // 메소드명(매개변수 타입) // 1. 올림 => math.ceill(double) : 반환형 double double num1 = 4.424242; System.out.println("올림 : " + Math.ceil(num1)); // 2. 반올림 => Math.round(double) : 반환형 long System.out.println("반올림 : " + Math.roun..

Programming/JAVA 2023.12.29

[JAVA] 예외처리 / RuntimeException / ArithmeticException / e.printStackTrace() / Arr

에러의 종류 - 시스템 에러: 컴퓨터의 오작동으로 인해 발생하는 에러 => 소스코드로 해결이 안됨 - 컴파일 에러: 프로그램 실행 전 소스코드 상의 문법적인 문제로 발생하는 에러 => 소스코드 수정으로 해결(빨간줄로 오류를 알려줌) - 런타임 에러: 프로그램 실행 중 발생하는 에러 => 소스코드 상 문법적인 문제가 없지만 발생 => 개발자가 예측 가능한 경우 제대로 처리를 안 해놓았을 경우 => 사용자의 잘못일 경우도 있음 - 논리 에러: 소스코드상 문법적인 무제도 없고, 실행했을 때도 굳이 문제가 발생하진 않지만,프로그램 의도상 맞지 않는 것(기획과 설계가 잘못되었을 경우 발생) 예외 시스템 에러를 제외한 나머지 컴파일, 런타임, 논리 에러와 같은 비교적 덜 심각한 에러들 특히 런타임에러를 주로 예외로..

Programming/JAVA 2023.12.29

[JAVA] 다형성(3) / 인터페이스 / 관련 예제

인터페이스 접근제한자 interface 인터페이스이름 { 상수필드 추상메소드 } - 상수필드와 추상메소드만으로 이루어진 추상클래스의 변형체 - 인터페이스에서 필드는 상수필드이다. - 인터페이스에서 메소드는 추상메소드이다. - 구현해야하는 게 있을 때 인터페이스에 틀만 만들어두고 상속하게 된다. - 인터페이스는 다중상속을 허용. => 메소드가 겹치더라도 최종 구현 부분은 실제 구현 클래스에서 기술하기 때문 - 추상클래스보다 좀 더 강한 규칙성, 강제성을 가진다. 추상클래스와 인터페이스 1. 공통점 - 객체 생성은 안되나, 참조변수로 사용 가능(다형성 적용 가능) - 상속하는 클래스에 추상메소드를 오버라이딩하도록 강제한다. 2. 차이점 - 추상클래스: 클래스 멤버 변수로, 함수 생성이 가능하고 추상메소드가 ..

Programming/JAVA 2023.12.27
728x90