본문 바로가기

728x90
반응형

이것이 자바다

[java] 이것이 자바다 ch20 데이터베이스 입출력 4(게시판 만들기) 1. board 클래스 생성 import java.util.Date; import lombok.Data; @Data public class Board { private int bno; private String btitle; private String bcontent; private String bwriter; private Date bdate; } 오라클에 있는 변수들을 선언합니다. 여기서 lombok 어노테이션을 이용해서 getter, setter, toString() 메소드를 자동 생성시킵니다. 별도의 getter, setter를 생성할 필요 없습니다. 2. 클래스 및 메인 메서드 생성 public class BoardExample1 { public void list() { System.out.pr.. 더보기
[java] 이것이 자바다 ch20 데이터베이스 입출력 3(프로시저, 함수 호출, 트랜잭션) 1. 프로시저와 함수 ▷ Oracle DB에 저장되는 PL/SQL 프로그램. 클라이언트 프로그램에서 매개값과 함께 프로시저 또는 함수를 호출하면 DB 내부에서 SQL 문을 실행하고, 실행 결과를 클라이언트 프로그램으로 돌려줌 ▷ JDBC에서 프로시저와 함수를 호출 시 CallableStatement를 사용. 프로시저와 함수의 매개변수화된 호출문을 작성하고 Connection의 prepareCall() 메소드로부터 CallableStatement 객체를 얻음 ▷ 프로시저도 리턴값과 유사한 OUT 타입의 매개변수를 가질 수 있기 때문에 괄호 안의 ?중 일부는 OUT값(리턴값)일 수 있음 ▷ prepareCall() 메소드로 CallableStatement을 얻으면 리턴값에 해당하는 ?는 registerOut.. 더보기
[java] 이것이 자바다 ch20 데이터베이스 입출력 2(UPDATE, DELETE, ResultSet) 1. 데이터 수정 ◎ UPDATE 문 1. JDBC를 이용해서 UPDATE 문을 실행 2. prepareStatement() 메소드로부터 PreparedStatement를 얻고, ?에 해당하는 값을 지정 3. executeUpdate() 메소드를 호출. 수정된 행의 수가 리턴 ◎ UPDATE 문을 이용한 예제 package java0213_1; import java.io.FileInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class BoardUpdateExample { public static .. 더보기
[java] 이것이 자바다 ch20 데이터베이스 입출력 1(JDBC, Oracle SQL, INSERT) 1. JDBC 개요 ◎ JDBC 라이브러리 ▷ 자바는 데이터베이스(DB)와 연결해서 데이터 입출력 작업을 할 수 있도록 JDBC 라이브러리 (java.sql 패키지)를 제공 ▷ JDBC는 데이터베이스 관리시스템(DBMS)의 종류와 상관없이 동일하게 사용할 수 있는 클래스와 인터페이스로 구성 ◎ JDBC Driver ▷ JDBC 인터페이스를 구현한 것으로, DBMS마다 별도로 다운로드받아 사용 ▷ DriverManager 클래스: JDBC Driver를 관리하며 DB와 연결해서 Connection 구현 객체를 생성 ▷ Connection 인터페이스: Statement, PreparedStatement, CallableStatement 구현 객체를 생성하며, 트랜잭션 처리 및 DB 연결을 끊을 때 사용 ▷ .. 더보기
[java] 이것이 자바다 ch19 네트워크 입출력(JSON, TCP 채팅) 6. JSON 데이터 형식 ▷ 네트워크로 전달하는 데이터 형식 ▷ 두 개 이상의 속성이 있으면 객체 { }로 표기, 두 개 이상의 값이 있으면 배열 [ ]로 표기 1 객체 표기 { "속성명" : 속성값, "속성명" : 속성값, ... } 속성명 : 반드시 "로 감싸야함 속성값으로 가능한 것 → "문자열", 숫자, true/false → 객체 { ... } → 배열 [ ... ] 2 배열 표기 [항목, 항목, ...] 항목으로 가능한 것 → "문자열", 숫자, true/false → 객체 { ... } → 배열 [ ... ] { "id": "winter", "name": "한겨울", "age": 25, "student": true, "tel": { "home": "02-123-1234", "moblie":.. 더보기
[java] 이것이 자바다 ch19 네트워크 입출력(UDP, 동시 요청 처리) 4. UDP ▷ 발신자가 일방적으로 수신자에게 데이터를 보내는 방식. TCP처럼 연결 요청 및 수락 과정이 없기 때문에 TCP보다 데이터 전송 속도가 상대적으로 빠릅니다. ▷ 데이터 전달의 신뢰성보다 속도가 중요하다면 UDP를 사용하고, 데이터 전달의 신뢰성이 중요하다면 TCP를 사용합니다. ▷ DatagramSocket은 발신점과 수신점에 해당하고 DatagramPacket은 주고받는 데이터에 해당합니다. ◎ UDP 서버 1. DatagramSocket 객체를 생성할 때에는 다음과 같이 바인딩할 Port 번호를 생성자 매개값으로 제공 DatagramSocket datagramSocket = new DatagramSocket(50001);​ 2. receiver() 메소드는 데이터를 수신할 때까지 블로킹.. 더보기
[java] 이것이 자바다 ch19 네트워크 입출력(IP, TCP) 1. 네트워크 기초 ◎ 네트워크 ▷ 네트워크 : 여러 컴퓨터들을 통신 회선으로 연결한 것 ▷ LAN(Local Area Network) : 가정, 회사, 건물, 특정 영역에 존재하는 컴퓨터를 연결한 것 ▷ WAN(Wild Area Network : LAN을 연결한 것(인터넷) 1. IP : PC의 네트워크 연결을 위한 고유 주소(식별할 수 있는 고유 번호, 중복 될 수 없습니다.) ▷ 사설 IP : 공유기에서 내부적으로 쓰이는 IP ▶ 192.168.X.X ▶ 172.16.X.X ▶ 10.X.X.X ▷ 공인 IP : 실질적인 통신을 위한 IP (인터넷 연결) ▷ PC : 사설 IP → 내부 통신 간에 사설 IP로 통신 외부(인터넷) 통신을 할 때는 사설 IP → 공인 IP 변환 시켜서 통신 2. SM(S.. 더보기
[java] 이것이 자바다 ch18 데이터 입출력 3 (Writer, Reader) 9. 프린트 스트림 ◎ PrintStream과 PrintWriter ▷ 프린터와 유사하게 출력하는 print(), println(), printf() 메소드를 가진 보조 스트림 ▷ PrintStream은 바이트 출력 스트림과 연결되고, PrintWriter는 문자 출력 스트림과 연결 PrintStream/PrintWriter void print(boolean b) void println(boolean b) void print(char c) void println(char c) void print(double d) void println(double d) void print(float f) void println(float f) void print(int i) void println(int i) void .. 더보기

728x90
반응형