분류 전체보기140 day20) 트랜잭션1 트랜잭션이란 db에 접근하여 수행하는 작업의 처리단위이다. ex) 게임 과금 시스템 1. 게임아이템을 사기위해 과금을 해서 게임머니를 충전한다. 2. 게임아이템을 사기위해 게임머니가 줄어들고 게임 아이템을 획득한다. 만약 1번 과정과 2번 과정을 분리되어있다고 가정해보자. 1번과정을 수행하고 2번과정 중에 문제가 일어나게 된다면 게임아이템은 획득하지 못하게 된다. 또한 별도의 처리가 없으면 과금을 했던 돈 또한 돌아오지 않는다. 이러한 문제를 해결하기 위해 1-2의 과정을 하나의 과정으로 처리해 주어 어느 부분에서 문제가 일어나더라도 하나의 과정안에서 수행취소가 진행되도록 코딩해 주어야한다. [사용법] -conn.setAutoCommit(false) : 기본적으로, 모든 작업 하나하나를 하나의 단위로 취.. 2022. 1. 23. day19) JDBC를 이용한 DB연동2 - CRUD구현 [executeUpdate vs executeQuery] 1. executeQuery 리턴값: ResultSet 객체(query문의 결과값을 그대로 가져온다) 사용처: 결과값을 출력할 필요가 있는 Select문에서 주로 사용된다. 2. executeupdate 리턴값: sql이 적용된 '갯수'인 int가 리턴된다. 사용처: 결과값을 출력할 필요가 없고, 쿼리문이 적용 되었는지 여부의 정보만 필요한 Create, Update, Delete문에서 주로사용된다 [예제] - v와 컨트롤러를 분리하지 않고 모델만 분리한다. - VO클래스를 만들어 DB값을 객체화시키는 작업을 한다. - DAO클래스를 만들어 각각의 비지니스 메서드를 생성한다. -> 각각의 비지니스 메서드를 만들때마다 DB에 연결하는 코드를 작성하면.. 2022. 1. 22. day18) JDBC를 이용한 DB, Eclipse 연동 1. DBMS에 맞는 드라이버 데이터를 로드 Class.forName("oracle.jdbc.driver.OracleDriver"); //Class.forName()메서드를 통하여 Oracle에서 제공하는 Driver 클래스를 JVM method area에 로딩한다. 2. DB에 연결(Connection을 확보한다.) final String url = "jdbc:oracle:thin:@localhost:1521:xe"; final String user ="seo"; final String pw = "1234"; Connection conn = DriverManager.getConnection(url, user, pw); //데이터 베이스를 연결한다. //getConnection()메서드를 통해 Conne.. 2022. 1. 20. day18) [Oracle] table 생성 + Select/Insert/Update/Delete 기본 쿼리문 [Table 생성] create table student(--테이블 생성 snum int primary key, --제약조건 pk: 유일한값, not null sname varchar(20) not null, score int default 0, reg date default sysdate --date: 타입 default: 기본값이 sysdate이다. --sysdate: 현재 날짜 ); [SELECT] -데이터를 검색하여 불러오는 쿼리문 ▶ SELECT 컬럼 FROM 테이블; - 테이블에서 컬럼의 데이터를 불러옴. ▶ SELECT * FROM 테이블; - 테이블의 모든 데이터를 불러옴 ▶ SELECT * FROM 테이블 WHERE 조건 ORDER BY DESC(or ASC); - 조건이 참인 데이터를 .. 2022. 1. 20. 이전 1 ··· 18 19 20 21 22 23 24 ··· 35 다음