저는 지금 intelliJ Ultimate를 사용하고 있으나, 아마 Community 버전에서도
같은 방법으로 하셨을 때 문제 없으실 겁니다!
빌드 시스템이 Gradle일 때와, IntelliJ일 때의 방법이 다르니 참고하여 진행하세요
(개인적으로 전자의 방법을 추천드립니다.)
빌드 시스템이 Gradle일 때
프로젝트 생성하기
위와 같이 프로젝트를 생성합니다.
build.gradle 에 의존성 추가하기
dependencies {
...
implementation 'mysql:mysql-connector-java:8.0.33'
...
}
위 코드를 build.gradle 파일에 추가하고
업데이트한 내용으로 다시 빌드합니다.
사용 예제
Main.java
package org.example;
import java.sql.*;
public class Main {
public static void main(String[] args) throws SQLException {
String url = "jdbc:mysql://localhost:3306/jdbc_study";
// 커넥션 객체 만들기
Connection connection = DriverManager.getConnection(url, "root", "1234");
Statement stmt = connection.createStatement();
ResultSet rs;
// 데이터 베이스 존재 시 삭제
stmt.executeUpdate("DROP DATABASE IF EXISTS test");
// 데이터 베이스 생성
stmt.executeUpdate("CREATE DATABASE test");
// 데이터 베이스 test를 사용하겠다 선언
stmt.executeUpdate("USE test");
// 테이블 생성
stmt.executeUpdate("CREATE TABLE person (" +
"id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, " +
"name VARCHAR(20), " +
"age INT, " +
"gender VARCHAR(2) )");
// 테이블에 데이터 추가
stmt.executeUpdate("INSERT INTO person (name, age, gender) VALUES ('hye', 18, 'F')");
// 쿼리의 결과 값(Select된 값)을 rs에 저장
rs = stmt.executeQuery("SELECT * FROM person");
// 커서가 이동했을 때 값이 존재할 때까지 반복
while (rs.next()){
// 결과 값의 칼럼 이름으로 값을 가져옴
System.out.print(rs.getString("name") + " ");
System.out.print(rs.getString("age") + " ");
System.out.println(rs.getString("gender"));
}
// 사용 후 close
stmt.close();
rs.close();
connection.close();
}
}
Connection 객체를 만들고 Statement와 ResultSet에 관한 내용은 다음 포스팅에서 더 자세하게 다루겠습니다.
빌드 시스템이 IntelliJ일 때
프로젝트 생성하기
위와 같이 프로젝트를 생성합니다.
외부 라이브러리 추가하기
File (또는 톱니바퀴 아이콘) - Project Structure - Platform Settings - Global Libraries 에서
+ 버튼을 누르고 Java를 선택하세요.
C:\Program Files (x86)\MySQL\Connector J 8.0\mysql-connector-j-8.0.31.jar
를 선택 후 OK
External Libraries 에 connector가 잘 있다면 성공입니다!
사용 예제
콘솔로 간단히 회원가입(이라기도 너무 별거 없는)을 구현 해봤습니다.
Join.java
package app;
import java.sql.*;
import java.util.Scanner;
public class Join {
static Connection con;
static Statement stmt;
static {
try{
con = DriverManager.getConnection(
"jdbc:mysql://localhost/test",
"root",
"1234"
);
stmt = con.createStatement();
}catch (Exception e){
e.printStackTrace();
}
}
public static void main(String[] args) {
try {
join();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static ResultSet join() throws SQLException {
System.out.println("--회원가입--\n\n");
Scanner scanner = new Scanner(System.in);
System.out.print("이름 :\t");
String name = scanner.nextLine();
System.out.print("아이디 :\t");
String id = scanner.nextLine();
System.out.print("비밀번호 :\t");
String pw = scanner.nextLine();
PreparedStatement pstmt = con.prepareStatement("INSERT INTO member (name, id, pw) VALUES (?, ?, ?)",
Statement.RETURN_GENERATED_KEYS);
pstmt.setObject(1, name);
pstmt.setObject(2, id);
pstmt.setObject(3, pw);
pstmt.executeUpdate();
return pstmt.getGeneratedKeys();
}
}
부디... 이 글이 한 사람에게라도 도움이 되었으면 좋겠습니다 😂
'IDE > IntelliJ' 카테고리의 다른 글
[IntelliJ][Spring] UnsatisfiedDependencyException 해결하기 (0) | 2024.02.02 |
---|---|
[JetbrainIDE] ES Lint Editor config 설정 비활성화 방법 (1) | 2024.01.03 |
[IntelliJ][Gradle] 빌드할 때 warning mode all 추가하기, You can use '--warning-mode all' ... (0) | 2023.08.19 |
[IntelliJ] lombok 인식 안 됨 해결 방법 (0) | 2023.08.18 |