본문으로 바로가기
반응형

## 글을 보기 앞서 ##


해당 포스팅은 마리아디비, 이클립스 IDE, 자바 1.8, 메이븐 프로젝트로 진행됨을 알립니다.

만약 위와 환경조건이 맞지 않다면 아래의 게시글을 확인 바랍니다.


완성본 파일 : 데이터베이스연동테스트.zip



[Minecraft]마인크래프트 개발환경울 구축하자 -1 (자바 설치 및 환경변수 설정)

[Minecraft]마인크래프트 개발환경울 구축하자 -2

[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자.

[Spring] Maria DB 설치



우선 이클립스 ide를 실행 해주세요.



[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자 게시글에 예제.zip으로 진행을 하도록 하겠습니다.

우선, POM.XML을 열어주세요.


크롬, 익스플로러 등을 통해 구글 사이트에 접속을 해주세요.



구글에 Maven repository를 검색을 해주신 다음에 제일 상단에 있는 사이트로 접속을 하겠습니다.




검색창에 MySQL Connector를 검색을 해주신 다음에 최상단에 검색 결과로 뜨는 MySQL Connector/J로 들어가주세요.

제가, 예전에 했을떄 마리아 디비 connect를 쓰면 마인크래프트에서 오류가 나더라고요.

※마리아 디비가 mysql 기반으로 만들어 진거라서 서로 사용이 가능합니다! 신경 쓰지 말고 하셔도 상관 없어요,







필자 기준에서 제일 최신버전이 8.0.13입니다.

8.0.13으로 들어가주세요.



체크 한곳을 보면 카테고리가 Maven이라고 나오며 아래의 있는 XML 코드를 복사 해주세요.


1
2
3
4
5
6
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
cs



다시 이클립스 IDE로 돌아 오셔서  30번째 줄을 보면 <dependencies>라는 태그 닫는게 있는데 여기 위에다가 위에 복사한 코드를 작성 해주세요.




작성 후 완성 본 이미지


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
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.alpreah.mc</groupId>
    <artifactId>alpreah</artifactId>
    <version>0.0.1-SNAPSHOT</version>
 
    <repositories>
        <repository>
            <id>spigot-repo</id>
            <url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
        </repository>
    </repositories>
    <dependencies>
        <!--Spigot API -->
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>spigot-api</artifactId>
            <version>1.13-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
        <!--Bukkit API -->
        <dependency>
            <groupId>org.bukkit</groupId>
            <artifactId>bukkit</artifactId>
            <version>1.13-R0.1-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
 
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
 
 
    </dependencies>
 
 
</project>
cs

완성된 소스코드



org.alpreah.main에서 우클릭을 하신뒤 NEW -> CLASS를 눌러주세요.


파란색으로 줄그은곳을 변경을 해주시고 Finish를 눌러주세요.


org.alpreah.db 패키지에 db_connect.java가 생긴것을 확인 하실수 있습니다.


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
package org.alpreah.db;
 
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
 
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
 
public class db_connect {
 
    private Connection connection;
 
    private String host = "아이피";
    private int port = 3306;
    private String database = "mc_test";
    private String username = "아이디";
    private String password = "비밀번호";
    
    public int openConnection(JavaPlugin plugin){
        try {
            if (connection != null && !connection.isClosed()) {
                plugin.getLogger().info("데이터 베이스 연결에 실패 했습니다.");
                return 0;
            }
         
            synchronized (this) {
                if (connection != null && !connection.isClosed()) {
                    plugin.getLogger().info("데이터 베이스 연결에 실패 했습니다.");
                    return 0;
                } 
                Class.forName("com.mysql.jdbc.Driver");
                connection = DriverManager.getConnection("jdbc:mysql://" + this.host+ ":" + this.port + "/" + this.database + "?autoReconnect=true"this.username, this.password);
                plugin.getLogger().info("데이터 베이스에 정상적으로 연결이 되었습니다.");
                if(connection == null) Bukkit.shutdown();
            }
        }
        catch (Exception e) {
            plugin.getLogger().info("데이터 베이스 연결에 실패 했습니다.");
            e.printStackTrace();
            return 0;
        }
        finally {
            try {
                connection.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return 1;
    }
}
 
cs

db_connect에 위에 소스를 입력 해주세요.


1
2
3
4
5
    private String host = "아이피";
    private int port = 3306;
    private String database = "데이터베이스이름";
    private String username = "아이디";
    private String password = "비밀번호";
cs


위 소스부분에 자신에 알맞은 설정을 적어주세요.

만약, 필자의 글을 보고 설치를 하셨다면

아이피 : localohst

데이터베이스이름 : mc_test

username : root

password : 1111



그런뒤 Heidisql을 실행 시켜주세요.

자신의 설정에 맞는 셋팅을 하신뒤 열기를 눌러주세요.

필자의 글을 보고 오셨다면

아이피 : localohst

아아디: root

비밀번호 : 1111


제일 상단에 있는 자신의 세션 이름을 누르신뒤 새로 생성 -> 데이터베이스를 눌러주세요.



이런 창이 뜨신다면 mc_test로 만들어주세요.


mc_test라는 데이터베이스가 생성 됨을 알수 있습니다.

테이블은 따로 안만들고 연결만 테스트 하겠습니다.



10번쨰줄에 줄 그은것처럼 추가 해주세요.

new db_connect().openConnection(this);



컴팡리 하신뒤 서버를 구동 시키면 위와 같은 로그를 확인 하실수 있습니다.


## 글을 마무리 하며 ##

간단하게 데이터 베이스를 연동한뒤 구동을 해 테스트트 해보았습니다.

하지만, 데이터 베이스는 연동을 한다고 해서 완성이 되는것이 아니라 갑 삽입, 수정, 삭제 PK, FK, JOIN 등이 있기 때문에 다음 게시글에는

테이블 생성, PK, FK 관계 설명 및 데이터 삽입 수정 삭제 까지 포스틍 하겠습니다.


반응형