[이클립스로 자바 코딩을 할 줄 알고 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/
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>테이블을 하나 만들어보겠다.
이제 자바 코드 속에서 테이블을 다루어보겠다. INSERT문을 하나 작성했다. SQLite는 MySQL과 문법이 거의 똑같다고 볼 수 있다. 그러나 표준 sql문법이기 때문이지, 문법이 좀 다른 sql도 있다.
자바 코드에선 sql의 쿼리문을 작성하기 위해 쿼리문을 문자열로 만들어 보낸다. ResultSet이 어느 상황에서 쓰이는건지는 나도 잘 모르겠다.
위 코드가 에러없이 정상적으로 실행되면 DB browser에서 쿼리문이 잘 들어간걸 확인할 수 있다.
INSERT한 값이 제대로 들어갔다.
SQL문법이나 그 외는 스스로 공부하거나 다른 소스들을 참고하길. 나도 SQL문법 아직 잘 모른다. 근데 구글링으로 다 나온다. 그래도 꼭 공부해야한다.
'studies > Back-end' 카테고리의 다른 글
[Oracle] cmd창에서 계정 생성, 테이블 생성, 삽입, 조회하기 (0) | 2020.03.19 |
---|---|
[Java] eclipse IDE에서 swing WindowBuilder 꺼짐현상 오류 해결 (0) | 2020.03.14 |
[Java] Swing JButton 버튼 속 텍스트 줄바꿈하는 법 (0) | 2020.01.21 |
[MySQL] 데이터베이스 공유 & 타 데이터베이스 접속하기 (5) | 2020.01.12 |
[MySQL] 테이블 생성시 이미 존재하는지 확인하기 How to check this table already exist (0) | 2020.01.12 |