728x90

Java/study 34

웹 크롤링해서 CGV 상영 영화 정보 DB에 넣기

웹크롤링을 통하여 CGV의 현재 상영 중인 영화 목록들을 가져오려고 하며 가져오려는 정보들은 영화 제목, 포스터, 장르이다. 아래 페이지에서 정보들을 가져와 DB에 데이터를 저장하려 한다. http://www.cgv.co.kr/movies/?lt=1&ft=0 영화 그 이상의 감동. CGV 멘 예매율0.3% 73% 2022.07.13 개봉 예매 www.cgv.co.kr SQL을 이용해 테이블을 만들고 자바로 sql문을 작성해 데이터를 저장할 준비를 해두었다. CREATE TABLE MOVIE( MID INT PRIMARY KEY, TITLE VARCHAR(100) NOT NULL, IMG VARCHAR(1000) NOT NULL, CATEGORY VARCHAR(100), BOOKCNT INT DEFAULT..

Java/study 2022.07.17

웹크롤링하여 DB에 데이터 넣기

웹 크롤링을 진행하여 JAVA에서 DB에 데이터를 전달하기 위해서는 외부. jar파일인 Jsoup 파일이 필요하다. 버전에 맞는 Jsoup.jar 파일을 프로젝트의 properties -> Java build path에 추가해준다. 이후 Jsoup의 connect() 메서드를 이용하여 원하는 웹사이트에 연결한 후 get() 메서드로 데이터를 받아들인다. 이때 get 메서드의 리턴 값이 Document 이기 때문에 Document 객체를 만들어 정보를 담아준다. final String imgUrl = "http://www.cgv.co.kr/movies/?lt=1&ft=0"; // 불러오고 싶은 사이트의 url Document doc = null; // Document 객체 생성 try { doc = Jso..

Java/study 2022.07.14

SQL을 활용하여 MVC 응용

DB에 상품번호(PK), 이름(NAME), 재고(CNT), 가격(PRICE)을 컬럼으로 가진 PRODUCT 테이블을 이용하여 CRUD를 구현 편의성을 위하여 DB연결과 해제를 효율적으로 하기 위해 JDBCUtil 클래스 생성 public class JDBCUtil { static final String driverName="oracle.jdbc.driver.OracleDriver"; static final String url="jdbc:oracle:thin:@localhost:1521:xe"; static final String user="kim"; static final String password="1234"; public static Connection connect() { Connection co..

Java/study 2022.07.14

MVC 모델을 이용한 자판기 프로그램

Model package model; public class AlcVO { // 술 클래스 ex) 참이슬, 처음처럼, 테라 private int num; // PK private String name; // 이름 private int price; // 가격 private int cnt; // 재고 private double abv; // 도수 private String category; // 카테고리 public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = ..

Java/study 2022.07.13

PrepareStatement 이용하기

기존에 쿼리문(SQL문)을 사용하기 위해서는 Connection 객체를 생성한 후 createStatement() 메서드를 사용해서 Statement 객체를 만들어준 후 생성된 Statement 객체로 executeQuery() 메서드를 실행하여 메서드의 인자로 쿼리문(SQL문)을 작성해주었다. PreparedStatement와 Statement의 차이로는 전자는 미리 쿼리문(SQL문)을 작성해놓고 나중에 값을 지정해줄 수 있다. 그 역할을 ? 가 진행해주며 값이 들어가는 부분에 ?로 대치하여 쿼리문(SQL문)을 작성한다. 이후 setString, setInt, ... 등을 통하여 첫번째 인자에 물음표의 위치가 들어가고 두번째 인자로는 값이 들어가게 된다. Statement를 상속받은 PrepareSta..

Java/study 2022.07.05

JAVA에 DB연동하기

JAVA에 DB를 연동하기 위해서는 우선 1. DBMS와 연동을 하기위한 드라이버가 필요하다. DBMS에 해당하는 드라이버 파일을 가지고 있는가 확인하고 그 파일의 데이터를 자바에 적재(load) 한다. 원하는 프로젝트의 properties -> Java Build Path -> Add External JARs -> ojdbc.jar 파일열기를 통해 JDBC 드라이버 로딩을 완료한다. .jar의 데이터를 JAVA에 load하는 방법 final String driverName="oracle.jdbc.driver.OracleDriver"; try { // 데이터를 가져오는중 예외가 생길 수 있기때문에 항상 try, catch 처리를 한다. Class.forName(driverName); // Driver 클..

Java/study 2022.07.04

DDL / DML / DCL

DDL(Data Definition Language) 테이블과 같은 데이터 구조(정보들을 저장한 DB)를 정의하는 데 사용되는 명령어들로 생성(CREATE), 삭제(DROP), 변경(ALTER),... 등이 사용되며 데이터 구조와 관련된 명령어들을 말한다. 설계를 완벽하게 진행한 뒤에, 테이블을 생성하기 때문에 변경의 경우는 잘 사용하지 않는다. (설계는 변경되지 않기 때문이다) 또한 테이블 생성 시 같은 이름을 가진 테이블은 생성하지 않는다. EX) CREATE TABLE 테이블명(EX. STUDENT) ( 멤버변수명(칼럼) 자료형 제약조건 NAME VARCHAR(크기) NOT NULL // 이름 문자형 NULL값은 안된다 ); DML(Data Manipulation Language) 데이터베이스에 테..

Java/study 2022.07.03

DBMS 활용을 위해 Eclips에 Oracle 연동하기

Oracle 프로그램을 다운로드한 후 setup.exe 파일을 실행하여 설치를 진행한다. 설치를 완료했다면 이클립스에 오라클을 연동해주어야 한다. -이클립스 연동 window-> showView -> 데이터 소스 익스플로러 -> 우클릭 -> 뉴 -> 오라클 선택(Next) -> Drivers(Oracle Thin Driver 11) -> JAR List(버전에 맞는. jar 파일 추가) 설치경로에 한글 x -> 설정 사항(버전에 맞는 서버 이름과 호스트 설정) -> 아이디, 비밀번호 입력 -> connect 성공 떠야 완료 아이디 비밀번호를 입력하기 위해서는 cmd(명령 프롬프트)에서 생성을 해주어야 한다. - 계정 만들기 cmd에서 실행 sqlplus / as sysdba -> create user 아..

Java/study 2022.07.01

MVC 패턴 사용 예제

MVC 패턴을 이용한 자판기 프로그램 Model VO 음료(상품)들을 정의함 멤버변수로 PK(Primary Key), 이름(상품명), 재고, 가격을 가지고 있음 package model; // 웹 개발에서, 일반적으로 기본 생성자를 사용하여 VO를 생성(new) public class ProductVO { private int num; // PK private String name; // 상품명 private int cnt; // 재고 private int price; // 가격 public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } pu..

Java/study 2022.06.30

DAO / VO / DTO

DAO(Data Access Object) DAO는 데이터베이스의 data에 접근하기 위한 객체이며 DB에 접근하여 데이터를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다. DataBase에 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용한다. DTO(Data Transfer Object) DTO는 계층간(Controller, View, Business Layer 등) 데이터 교환을 위한 자바 빈즈(Java Beans)를 의미한다. 로직을 가지지 않는 데이터 객체이고 getter/setter메서드만 가진 클래스를 의미한다. DTO는 데이터 전송(이동) 객체라는 의미를 가지고 있으며 주로 비동기 처리를 할 때 사용하는 계층 간 데이터 교환을 위한 객체(Java Beans)이다. 또한 ..

Java/study 2022.06.29
728x90