JAVA와 MySQL을 이용한 DB Connection 을 해보도록 하겠습니다.
Java Project로 생성을 하고 src에 Package 를 임의로 생성하거나 그냥 java 파일을 생성해 주시면 됩니다.
그리고 나서 이제 코드를 작성해보도록 하겠습니다.
모든 DB Connection은 항상 url, ID, PW 를 가지고 연결을 한다고 생각하시면 됩니다.
Java로만 작성하는 코드는 간단하기 때문에 바로 작성하도록 하겠습니다.
저같은 경우에는 TEST라는 이름의 package를 작성하였고 , Json 형식으로 데이터를 뽑기 위해 import에 JSONArray, JSONObject를
사용하였습니다.
일반 String 형식도 주석으로 적어놨으니 사용하시면 됩니다.
몇가지 라이브러리가 필요합니다. mysql-connector 라이브러리와
simple.JSON을 사용하기 위해서는 라이브러리가 필요한데
링크로 첨부해드리도록 하겠습니다. maven을 사용하면 소스코드 내에서 추가가 가능하지만 일단
링크에서 다운받아서 사용해주시면 되겠습니다.
json-simple-1.1.jar = http://www.java2s.com/Code/Jar/j/Downloadjsonsimple11jar.htm
mysql-conector = https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.13
라이브러리를 추가하는 방법은 프로젝트 우클릭 Properties 클릭
Java Build Path 클릭
Libaries 에서 우측 메뉴에 있는 Add External Jars 클릭후 라이브러리를 추가해주시면 되겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | package test; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.json.simple.JSONArray; import org.json.simple.JSONObject; public class test1 { public static void main(String[] args) throws UnsupportedEncodingException { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 1. 드라이버 로딩 Class.forName("com.mysql.cj.jdbc.Driver"); // 2. 연결하기 String url = "jdbc:mysql://본인 ip:3306/스키마이름"; conn = DriverManager.getConnection(url, "ID", "PW"); stmt = conn.createStatement(); String sql = "QUERY문 작성"; rs = stmt.executeQuery(sql); JSONArray arr = new JSONArray(); while (rs.next()) { // String bloom_idx = rs.getString(1); // String devicekey = rs.getString(2); // String Authorization = rs.getString(3); String bloom_idx = URLEncoder.encode(rs.getString("bloom_idx"), "UTF-8"); String devicekey = URLEncoder.encode(rs.getString("devicekey"), "UTF-8"); String Authorization = URLEncoder.encode(rs.getString("Authorization"), "UTF-8"); JSONObject obj = new JSONObject(); obj.put("bloom_idx", bloom_idx); obj.put("devicekey", devicekey); obj.put("Authorization", Authorization); if (obj != null) arr.add(obj); System.out.println(bloom_idx + " " + devicekey + " " + Authorization); } System.out.println(arr); } catch (ClassNotFoundException e) { System.out.println("드라이버 로딩 실패"); } catch (SQLException e) { System.out.println("에러 " + e); } finally { try { if (conn != null && !conn.isClosed()) { conn.close(); } if (stmt != null && !stmt.isClosed()) { stmt.close(); } if (rs != null && !rs.isClosed()) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } | cs |
간단한 소스코드에 대해 설명을 드리겠습니다.
Connection 객체를 생성
Statement 는 데이터를 추가, 수정, 삭제를 실행할 객체를 생성합니다.
query문 작성후에
쿼리를 실행하는 stmt.excuteQuery(sql)
JsonArray json 배열을 생성합니다.
while (rs.next()) {
또한 데이터가 없을 때 까지 데이터를 가져오는 while(rs.next()).
최대한 쉽게 설명드리려고 했는데 잘 보셨는지 모르겠습니다. ㅎㅎ 다음에는 jsp를 이용한 dbconnection에 대해 알아보도록 하겠습니다.