농장/DB

[ SQLite / SQLite3 ] 이클립스 자바 연동 & 코드에 사용하기

귤발자 2020. 1. 12. 12:21
728x90
반응형

[이클립스로 자바 코딩을 할 줄 알고 MySQL을 대충이라도 아는 초보용]

필자 : 현직개발자X, 전문가X, sqlite를 대충 독학한 1년짜리 초보O, 정확하지 않고 틀린 정보가 있을 수 있음. 매우 야매임. 

 

서론

MySQL에 비해 SQlite는 구글링 자료가 적다. 그래서 정리해보았다.

 

우선 SQLite는 파일 형태의 DB(Database)다. 

  • MySQL : 로컬 DB로도 사용할 수 있지만 여러 사람이 ip를 만지작해서 하나의 데이터베이스를 같이 사용할 수도 있다. 이해하기 어렵다면 다른 PC들과 데이터베이스를 공유하기 위해 주로 사용된다고 생각하면 됨.
  • SQlite : DB를 가진 해당 PC에서만 사용할 수 있다. 어떤 프로그램이 있는데 프로그램을 종료하고 다시 실행해도 데이터를 남아있게 하고 싶은 경우(예: 인터넷 접속이 필요없는 타자연습 프로그램이나 메모장 etc.), 데이터베이스 파일을 로컬에 생성한 후 거기에 계속 접근하여 데이터를 저장하기도 하고 불러오기도 한다. 프로그램에 SQlite를 사용하면 그 프로그램을 배포받은 고객들 역시 로컬에서 데이터베이스를 사용할 수 있는 것!
    테이블이 필요하다면 파일io보다 간단하다. 이때 테이블이란 하나의 데이터베이스 안에 존재하는 소분류의 데이터 표들이다. 

 

 

 

이클립스에서 자바 코드에 SQLite를 사용하기 

 

1. 아래 주소에서 sqlite-jdbc.jar 파일을 다운받는다. 되도록 최신걸로 받자. 이게 있어야 이클립스에서 SQlite 사용이 가능하다.

repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.34.0/

 

Central Repository: org/xerial/sqlite-jdbc/3.34.0

 

repo1.maven.org

 


2. 파일 탐색기에서, 다운받은 sqlite-jdbc.jar 파일을 'SQlite를 사용하고자 하는 프로젝트 폴더' 속에 집어넣는다. 

이게 정답인지는 모르겠는데 나는 항상 그렇게 한다. 소스에서 참조하기 때문에 상대경로로도 근접해야한게 좋다.


3. 이클립스에서 SQlite를 사용하고자 하는 프로젝트 우클릭>Properties>Java Build Path>Libraries 로 이동 후 이 jar파일을 추가한다. 추가된 걸 확인한 후 Apply!


4. 간단한 테스트를 위해 DB Browser for SQLite 라는 프로그램을 설치한다(다운 링크 아래). 필수가 아니며 이 프로그램이 없어도 Sqlite를 쓸 수 있지만 데이터베이스 파일을 직접 다루기에는 GUI라 콘솔보다 간편하다. MySQL의 워크벤치같은 느낌.

각자 운영체제에 맞는 zip파일로 다운한다.   https://sqlitebrowser.org/dl/


5[FINAL]. 이제 이클립스 자바 코드로 연동해보겠다. 일반적인 소스처럼 src폴더에 새 소스파일을 만든다. 아래 이미지는 기본이자 예시 코드이다. 

1번째 줄 : sql문을 사용하기 위해 import 필수! sql 요소를 각각 import하는게 귀찮아서 일단 다 가져왔다. ( '*' = 'all' )

* : try-catch문은 에러(예외)처리를 위해 필수이며, try 블록에 실행하고자 하는 코드를 작성한다. 

 

위는 db파일 생성까지의 코드이다. 에러결과없이 실행되었다면 프로젝트 폴더 내에 빈 .db파일이 (최초)생성된다. 후에 이 소스를 반복적으로 실행해도 같은 이름으로 db파일이 생성되지 않는다.

이제 앞서 설치한 DB browser 프로그램에서 이 db파일을 직접 다루어 보겠다. db파일을 불러온다. File>Open Database.

테스트니까 이곳에서 테이블을 만들어놓고 코드에서 실행을 하는게 편할 것이다.

Create Table>테이블을 하나 만들어보겠다. 

Execute SQL탭은 콘솔처럼 해놨다. GUI가 어색하다면 이곳에서 작업하숑.

 

이제 자바 코드 속에서 테이블을 다루어보겠다. INSERT문을 하나 작성했다. SQLite는 MySQL과 문법이 거의 똑같다고 볼 수 있다. 그러나 표준 sql문법이기 때문이지, 문법이 좀 다른 sql도 있다. 

자바 코드에선 sql의 쿼리문을 작성하기 위해 쿼리문을 문자열로 만들어 보낸다. ResultSet이 어느 상황에서 쓰이는건지는 나도 잘 모르겠다. 

위 코드가 에러없이 정상적으로 실행되면 DB browser에서 쿼리문이 잘 들어간걸 확인할 수 있다.

INSERT한 값이 제대로 들어갔다.

이곳에서 데이터를 직접 수정할 수도 있다.

 

SQL문법이나 그 외는 스스로 공부하거나 다른 소스들을 참고하길. 나도 SQL문법 아직 잘 모른다. 근데 구글링으로 다 나온다. 그래도 꼭 공부해야한다.  

 


 

728x90
반응형