JDBC PreparedStatement Statement 클래스보다 기능이 향상된 클래스 코드의 안정성과 가독성이 높다. 인자 값으로 전달이 가능하다. 문법 Connection conn = DriverManager.getConnection("url","id","pw") PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM TABLE"); ResultSet rs = pstmt2.executeQuery(); 기본 문법은 Statement와 다를게 없지만 쿼리의 내용을 동적으로 생성해야 할 때 값을 가독성이 좋은 형태로 넣을 수 있다. 예시 Statement int min_salary = 1000; String min_id = 110; stmt = ..
JDBC 프로젝트에 ojdbc 라이브러리를 추가했으면 이제 자바코드로 오라클을 다룰 수 있다. ojdbc 라이브러리 추가방법 https://itjy2.tistory.com/220 ojdbc 드라이버 로드 Class.forName("oracle.jdbc.driver.OracleDriver"); Class.forName을 사용하여 해당 DB사의 jdbc 드라이버를 로드 한다. ClassNotFoundException이 발생할 수 있다. DB와 연결 생성 Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521/orcl", "hr", "hr"); DriverManager 클래스를 통해 DB와의 연결을 생성한다. DB접속에 ..
Java / JDBC JDBC 자바에서 DB 프로그래밍을 하기 위해 사용하는 API 어떤 DB와도 호환할 수 있도록 설계 되어있다. Java부분의 소스는 어떤 DB를 사용하더라도 일정하다. DB를 제작한 쪽에서 jdbc에서 요구하는 형식을 맞추어 개발하기 때문에 새로운 DB도 기존의 jdbc로 사용할 수 있다. OJDBC 오라클 DB가 JDBC API와 소통하기 위해 만든 라이브러리 오라클 DB가 설치된 폴더에 포함되어 있다. 프로젝트에 오라클의 jdbc 드라이버 추가하기 프로젝트 우클릭 -> Build Path -> Configure Build Path Add External JARs 클릭 설치된 오라클의 ojdbc8.jar 선택 -> Apply and Close ojdbc는 아래 경로에 존재한다. 1..
Java / Random Random Java에서 무작위 double타입의 랜덤 소수를 생성해주는 메소드이다. (0 ~ 1 사이의 랜덤 소수) Math.random()으로 접근해서 사용한다. 원하는 범위의 랜덤숫자 생성하는 방법 (int)(Math.random() * 45 + 1) // 1 ~ 45 (int)(Math.random() * 45) // 0 ~ 44 1. 실수가 아닌 정수형으로 생성하려면 형변환을 하거나, 반올림을 하면 된다. 2. random()뒤에 원하는 범위를 지정해준다 ex ) Math.random() * 최대값 + 최소값 (최소값을 지정 안하면 0부터 시작한다.) Random 클래스 좀 더 편리하게 랜덤값을 선택할 수 있는 기능들이 모여있는 클래스 사용하려면 Random클래스를 im..
Java / StringBuiler StringBuilder 문자열을 다루거나 문자열끼리 연산할 때 String끼리 누적 연산을 하는 것은 연산속도가 매우 떨어진다. String을 이용해서 연산을 하는 것보다 StringBuilder를 이용해서 연산을 하는것이 훨씬 효율적이다. String끼리 연산할 때는 새로운 객체를 계속 생성하며 연산하지만 StringBuilder는 객체를 생성하지 않고 더하기만 한다. 문법 StringBuilder sb = new StringBuilder("Hi"); // 생성 sb.append(" Java"); // 뒤에 Java 추가 System.out.println(sb); // Hi Java StringBuilder의 인스턴스를 생성하고 인스턴스.append("문자열") 을..
삼항연산자 간단한 if문을 한 줄로 표현할 수 있다. > 조건 ? true : false 로 표현한다 문법 System.out.println(1 == 1 ? "참" : "거짓"); // 참 System.out.println(1 == 2 ? "참" : "거짓"); // 거짓 예제 int a = 10; if(a % 2 == 0){ System.out.println("짝수"); }else{ System.out.println("홀수"); } 위의 if문을 삼항연산자로 줄이면 아래의 코드로 표현이 가능하다. System.out.println(a % 2 == 0 ? "짝수" : "홀수");
Java / charAt charAt 해당 문자열에서 원하는 번째의 문자를 char 타입으로 꺼내는 함수 문법 String str = "Hello, everyone!!!!"; System.out.println(str.charAt(7)); // e
C언어에서는 문자열을 처리하기 위해 여러가지 함수를 제공하고 라이브러리 내에 존재한다. 대표적으로 쓰이는 - sizeof( 문자열의 byte크기를 알려줌) - strlen( 문자열의 글자수를 알려줌) - strcpy ( 문자열을 복사해줌 ) - strcmp (문자열을 비교해서 참,거짓을 알려줌) - strcat ( 문자열을 결합해줌 ) 4개의 함수에 대해 알아보도록 하겠다. string.h 라이브러리 사용 #include #include 사용하기 위해서는 #include 를 선언해주어야 한다. 변수 선언 void main() { int cmp; char name[] = "Superman"; char name1[20] = {'S','u','p','e','r'}; char name2[20]; name2[0]..
Struct ( 구조체 ) 사용자 정의 데이터 타입 기존데이터타입을 묶어서 새로운 타입 생성 선처리부에 등록 해야한다. 구조체 정의 struct Score { char name[10]; int kor,eng,mat,total; float avg; }; name(10 byte), kor,eng,mat,total,avg ( 20byte )총 30byte 크기의 Score라는 구조체 정의 구조체 별칭 typedef struct score { char name[10]; int kor, eng, mat, total; float avg; }SCORE; int main() { //struct score student; SCORE student; } 구조체 맨앞에 typedef를 써주고 맨뒤에 정의하고싶은 이름을 쓰면..
C언어 공부를 하는데 한 예제당 파일 하나씩 나누어서 진행하려고 했는데 아무리해도 오류가 나서 오류 내용을 보니 한 프로젝트에서는 main() 함수가 하나만 존재해야 한다고 메세지가 뜬다. C언어의 프로젝트에서 여러 main() 함수를 사용하고 싶을 때 사용하는 방법 1. main함수 사용 안할 파일 우클릭 -> 속성 2. 일반 -> 빌드에서 제외 -> 예 -> 적용 ( 나중에 컴파일 하려면 다시 해제해야 함 )
*Visual Studio가 없다면 Visual Studio Community를 설치하고 진행해야 함 1. 새 프로젝트 만들기 2. 빈 프로젝트 -> 다음 3. 프로젝트이름, 경로 설정후 만들기 4. 소스파일 우클릭 -> 추가 -> 새 항목 클릭 5. 파일 이름 ***.c 로 변경후 추가 테스트 위의 코드를 입력하고 Ctrl + F5를 누르면 실행이 되는것을 확인할수있음
C언어 1. C언어 특징 1. 절차지향언어 ( 컴파일언어) 2. 속도가 빠름 3. 고급 + 저급언어의 특징을 갖고 있다. ( ***.c (원시코드) --> 컴파일 --> ***.obj(목적코드 (저급언어)) --> ***.exe(실행파일) 4. 메모리 사용량이 적다. 2. C언어 데이터 타입 1. 문자형 - char(1byte) - %c, %s, %d 2. 정수형 - short(2byte) - int(2~4byte) --> %d, %x, %o, %u - long(4byte) --> %ld, %lx, %lo, %lu 3. 실수형 - float(4byte) --> %f %e - double(8byte) --> %lf, %le C는 논리형(boolean)타입이 존재하지 않음 3. 연산자 && - 논리AND &..