[java] Jansi를 이용하여 자바 애플리케이션에서 터미널에서 데이터베이스 접속하기

이번 포스트에서는 Jansi 라이브러리를 사용하여 자바 애플리케이션에서 터미널에서 데이터베이스에 접속하는 방법에 대해 알아보겠습니다.

Jansi란?

Jansi는 커맨드 라인 환경에서 ANSI 코드를 지원하기 위한 자바 라이브러리입니다. ANSI 코드는 터미널에서 텍스트 색상, 배경 색상, 글꼴 스타일 등을 조작하기 위해 사용된다. Jansi는 이 ANSI 코드를 자바 애플리케이션에서 사용할 수 있도록 지원해줍니다.

Jansi 추가하기

먼저 Maven을 이용하여 Jansi를 프로젝트에 추가합니다. pom.xml 파일에 다음과 같은 의존성을 추가합니다:

<dependencies>
    <dependency>
        <groupId>org.fusesource.jansi</groupId>
        <artifactId>jansi</artifactId>
        <version>1.18</version>
    </dependency>
</dependencies>

의존성을 추가하면 Jansi가 프로젝트에 포함되어 컴파일됩니다.

터미널에서 데이터베이스 접속하기

이제 Jansi를 사용하여 터미널에서 데이터베이스에 접속해보겠습니다. 예를 들어, MySQL 데이터베이스에 접속하는 자바 애플리케이션을 작성해보겠습니다.

import org.fusesource.jansi.AnsiConsole;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TerminalDBConnection {
    public static void main(String[] args) {
        AnsiConsole.systemInstall();

        String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
        String username = "myusername";
        String password = "mypassword";

        try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password);
             Statement statement = connection.createStatement()) {

            ResultSet resultSet = statement.executeQuery("SELECT * FROM mytable");

            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                System.out.format("ID: %d, Name: %s\n", id, name);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        AnsiConsole.systemUninstall();
    }
}

위의 코드는 Jansi의 AnsiConsole 클래스를 사용하여 ANSI 코드를 터미널에서 사용할 수 있도록 활성화하고, MySQL 데이터베이스에 접속하여 데이터를 조회하는 예제입니다.

jdbcUrl, username, password 변수를 본인의 데이터베이스 접속 정보로 수정하고, 원하는 SQL 쿼리를 executeQuery 메서드의 인자로 전달하여 데이터를 조회할 수 있습니다.

실행 결과

위의 코드를 실행하면, 터미널에서 데이터베이스에 접속하여 결과를 출력합니다. 결과는 ANSI 코드를 사용하여 텍스트 색상이나 스타일을 변경하여 출력할 수도 있습니다.

결론

Jansi를 사용하여 자바 애플리케이션에서 터미널에서 데이터베이스에 접속하는 방법에 대해 알아보았습니다. Jansi를 사용하면 ANSI 코드를 터미널에서 사용할 수 있으며, 텍스트 색상이나 스타일을 조작하여 자신만의 커맨드 라인 인터페이스를 개발할 수 있습니다.

더 자세한 내용은 Jansi GitHub 저장소에서 확인할 수 있습니다.