JDBC 작성순서, DB테이블, insert, select, update, delete

휘Bin·2023년 6월 13일
0
post-thumbnail

JDBC 프로그램 작성 순서

JDBC는 네트워크를 통해 데이터베이스와 연결을 맺고, SQL을 전달해 DB가 이를 실행하는 흐름이다. 따라서 이런 순서를 갖는다.

  1. 네트워크를 통해 DB와 연결을 맺는 단계
  2. DB에 보낼 SQL을 작성하고 전송하는 단계
  3. DB가 보낸 결과를 받아 처리하는 단계
  4. DB와 연결을 종료하는 단계

테스트 프로그램 작성

본격적으로 JDBC 프로그램을 작성하기 전에 테스트 환경을 통해 미리 실행 가능ㄴ 여부를 확인해보는 것이 좋다.

ConnectionTests에 @Test 어노테이션을 사용하는 메소드를 작성
-> @Test를 적용하는 메소드는 반드시 public으로 선언되어야 하고, 파라미터나 리턴타입이 없이 작성한다.

녹색으로 겨로가가 나오면 테스트가 성공했다는 의미이다.

testConnection() 자바 코드를 이용해 MariaDB와 연결을 확인하는 용도의 코드

@Test
public void testConnection() throws Exception{

	Class.forName("org.mariadb.jdbc.Driver");
    
    Connection connection = DriverManager.getConnection(
    	"jdbc:mariadb://localhost:3306/webdb",
        "webuser",
        "webuser");
        
        Assertions.assertNotNull(connection);
        
        connection.close();
        
        )

}

말 그대로 데이터베이스와 연결만 확인하는 용도지만, 현재 프로젝트가 실행 가능한지 확인하기 때문에 매우 중요한 코드이다.

데이터베이스 테이블 생성

  • [관계형 데이터베이스]에서 데이터를 저장하기 위해서는 [테이블]을 생성해야 한다.
  • 데이터베이스에서 사용하는 데이터 타입은 각자 사용하는 데이터베이스에 따라 검색해서 사용해보길 바란다!

[MariaDB 기준]

  • auto_increment : 식별키(primary key)를 지정하기 위해 사용. 새로운 데이터가 추갈될 때 자동으로새로운 번호가 생성된다.
    -> 값이 연속적일 필요가 없고 단순히 구분이 가능한 숫자일 뿐이라고 생각해야함!

  • 날짜는 date타입이 일반적

  • boolean 값은 true/false 값 대신 0과 1로 사용하는 경우가 많아 tinyint 타입을 이용해 처리

  • DB에서 실행하는 SQL의 종류 중 테이블을 생성하거나 특정한 객체들을 생성할 때 사용하는 SQL을 DDL(Data Definition Language) 라고 한다.

데이터 조작어 DML(Data Manipulation Language)

테이블은 데이터의 '형식이나 틀' 정도를 만드는 것이기 때문에, 실제 데이터를 만지는 작업은 별도로 진행해야 한다.

SQL 중에서 DML(Data Manipulation Language), '데이터 조작어'를 사용한다.
insert/update/delete 등을 사용한다.

  • insert : 데이터 추가
    -> 테이블과 칼럼을 지정하고, values를 이용해 타입에 맞는 데이터를 모아 '()'를 이용해 처리한다. 데이터를 추가할 때 칼럼의 타입과 추가하는 데이터의 타입을 맞춰줘야 하기 때문.
    -> 문자의 경우는 " 혹은 "", 날짜의 경우는 변환해서 사용해야 한다.
    -> dueDate는 특이하게 문자열의 포맷과 데이터의 저장 형태가 같아 사용할 수 있다.

Ex)

insert into todoTable (title, dueDate, finished)
values ('Prac~~~', '2023-06-13',1);
  • select : 데이터 조회

데이터를 조회하는 SQL은 흔히 '쿼리(query)'라고 하고, select를 이용한다.
select 문은 'from절'을 이용해 가져오려는 데이터의 대상 테이블 등을 지정하고, 'where절'을 이용해 대상에서 필터링을 지정한다.

Ex)

select * from todoTalbe where tno > 3;
  • update : 데이터 수정

기존 데이터를 수정하기 위해 update문을 이용할 수 있다.
update문은 set을 이용해 특정 칼럼의 내용을 수정할 수 있고, where 조건을 이용해 수정하는 대상 데이터를 지정할 수 있다.

Ex)

update todoTable wet finished = 0, title = 'ummm' where tno = 3;

update문은 실행을 한 후 select를 통해 확인하는 것이 좋다.

  • delete : 데이터 삭제

delete 문은 where 조건에 해당하는 데이터를 삭제하기 때문에 주의해야 한다!
where 조건이 없는 경우 모든 데이터를 삭제할 수도 있기 때문이다.

Ex)

delete from todoTable where tno < 13;
profile
One-step, one-step, steadily growing developer

0개의 댓글