๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Environment·Tool/IntelliJ IDEA

IntelliJ๋กœ Gradle ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  DB ์—ฐ๋™ํ•˜๊ธฐ

by Leica 2020. 3. 8.
๋ฐ˜์‘ํ˜•

IntelliJ๋กœ Gradle ํ”„๋กœ์ ํŠธ ์ƒ์„ฑํ•˜๊ณ  DB ์—ฐ๋™ํ•˜๊ธฐ

1. Gradle ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ

๊ฐ€์žฅ ๋จผ์ € ์ƒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.

์ขŒ์ธก์—์„œ Gradle์„ ์„ ํƒํ•˜๊ณ  Project SDK์—์„œ ์‚ฌ์šฉํ•  JDK ๋ฒ„์ „์„ ์„ ํƒ, ์ค‘์•™ Additional Libraries and Frameworks์—์„œ๋Š” Java๋งŒ ์„ ํƒํ•˜๊ณ  Next๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

ํ”„๋กœ์ ํŠธ ์ด๋ฆ„, ์œ„์น˜, Group Id, Artifact Id๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Finish๋ฅผ ํด๋ฆญํ•œ๋‹ค.

 

IntelliJ Gradle ํ”„๋กœ์ ํŠธ

 

2. JDBC Driver ์˜์กด์„ฑ ์ถ”๊ฐ€

Maven ์ €์žฅ์†Œ(https://mvnrepository.com)์—์„œ ์ž์‹ ์ด ์‚ฌ์šฉํ•˜๋Š” DBMS์˜ JDBC ๋“œ๋ผ์ด๋ฒ„ ์˜์กด์„ฑ ๊ตฌ๋ฌธ์„ ๋ณต์‚ฌํ•œ๋‹ค.

 

Gradle ํƒญ์˜ ๋‚ด์šฉ์„ ๋ณต์‚ฌํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜๋Š” MySQL 8์ ๋Œ€๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณต์‚ฌํ–ˆ๋‹ค.

 

Gradle ์˜์กด์„ฑ์€ build.gradle์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค.

 

build.gradle

plugins {
    id 'java'
}

group 'com.atoz_develop'
version '1.0-SNAPSHOT'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'

    // jdbc driver
    // https://mvnrepository.com/artifact/mysql/mysql-connector-java
    compile group: 'mysql', name: 'mysql-connector-java', version: '8.0.19'
}

์œ„์™€ ๊ฐ™์ด dependencies ํ•˜์œ„์— ๋ณต์‚ฌํ•œ ๊ฒƒ์„ ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.

๋‚˜๋จธ์ง€๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ• ๋•Œ์˜ ์„ค์ •์— ๋”ฐ๋ผ ์›๋ž˜ ์ž‘์„ฑ๋ผ์žˆ๋Š” ๋‚ด์šฉ์ด๋‹ค.

 

build.gradle์„ ์ˆ˜์ •ํ•˜๊ณ  ๋‚˜๋ฉด ์šฐ์ธก ํ•˜๋‹จ์— 'Gradle projects need to be imported' ๋ฉ”์‹œ์ง€๊ฐ€ ๋œฌ๋‹ค.

Enable Auto-Import๋ฅผ ๋ˆŒ๋Ÿฌ build.gradle์„ ์ˆ˜์ •ํ•˜๋ฉด ์ž๋™์œผ๋กœ ์˜์กด์„ฑ์„ ๋ฐ›๋„๋ก ํ•œ๋‹ค.

 

์ž ์‹œ ํ›„ MySQL JDBC ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ์ž๋™์œผ๋กœ ๋“ค์–ด์˜จ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. DB ์—ฐ๋™

๊ฐ„๋‹จํ•˜๊ฒŒ DB ์—ฐ๋™์„ ํ•ด๋ณด์ž.

public class Main {
    public static void main(String[] args) {
        try {
            Connection conn = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3307",
                    "leica",
                    "1234"
            );

            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery(
                    "show databases"
            );

            while (rs.next()) {
                System.out.println(rs.getString(1));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

 

DB์—์„œ ์Šคํ‚ค๋งˆ ๋ชฉ๋ก์„ ๊ฐ€์ ธ์˜ค๋Š” ์ฝ”๋“œ์ด๋‹ค.

 

์‹คํ–‰ ๊ฒฐ๊ณผ

 

์‹คํ–‰ํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ  ์—ฐ๊ฒฐํ•œ db์˜ ์Šคํ‚ค๋งˆ ๋ชฉ๋ก์ด ์ž˜ ์ถœ๋ ฅ๋˜๋ฉด ์„ฑ๊ณต์ ์œผ๋กœ ์—ฐ๋™๋œ ๊ฒƒ์ด๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€