목차
- javac 명령어를 활용하여 자바 소스코드 컴파일하기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 사용자 입력 Input Box 만들기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 텍스트 리스트 박스 만들기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 쿼리 입력 Input Box와 실행 버튼, 실행 결과 출력 텍스트 박스 UI 만들기 예제
- 자바 MariaDB Select 쿼리 실행 후 Swing UI에 결과 출력 예제
javac 명령어를 활용하여 자바 소스코드 컴파일하기 예제 이전 포스팅 참고 학습
자바 소스코드 컴파일이란 javac 명령어를 사용하여 java 확장자를 가진 자바 언어의 소스 코드를 컴파일하는 것입니다. 이전 포스팅에서 상세히 다룬 예제를 참고하여 자바 개발 환경에서 코드를 컴파일하고 실행하는 기초를 학습할 수 있습니다. 이렇게 컴파일을 하면 class 파일이 생성됩니다. 그러면 실제 프로그램을 실행하여 동작 과정과 결과를 확인할 수 있습니다. 만약 javac 명령으로 자바 소스 코드 컴파일 방법에 대해 아직 잘 모르신다면 아래 링크를 참고해주세요.
2023.08.10 - [Linux] - [Linux/Java] 리눅스 우분투에서 java 컴파일 및 실행 예제(javac)
자바 Swing 활용 사용자 입력 Input Box 만들기 예제 이전 포스팅 참고 학습
자바 Swing을 활용하여 사용자 입력 Input Box를 만드는 방법은 이전 포스팅을 참고하여 학습해주세요. Swing은 그래픽 사용자 인터페이스를 만들기 위한 자바 라이브러리로, 사용자에게 데이터를 입력받을 때 유용하게 활용됩니다. 특히 오늘 예제에서도 사용자에게 특정 조건을 입력받아 Select 쿼리를 실행시키는 예제가 포함되어있습니다. 조건을 입력받기 위해서 input box를 사용합니다. 해당 내용이 궁금하시다면 아래 링크를 참고하여 학습해주세요.
2023.09.21 - [Java] - [Java/Linux] 자바 Swing 활용 Input Box 입력 내용 파일에 저장하기 예제(text file)
자바 Swing 활용 텍스트 리스트 박스 만들기 예제 이전 포스팅 참고 학습
자바 Swing을 이용하여 텍스트 리스트 박스를 만드는 방법은 이전 포스팅에서 예제를 참고하여 학습해주세요. 텍스트 리스트 박스는 여러 항목을 목록으로 표시하는 데 유용하며, 사용자에게 여러 옵션을 보여줄 때 사용합니다. 안드로이드의 리스트 박스와 같은 기능을 자바 Swing으로 구현하고 싶으시다면 아래 링크를 참고하여 학습해주세요.
2023.09.21 - [Java] - [Java/Linux] 자바 Swing 활용 텍스트 리스트 박스 만들기 예제(String Array)
또한 자바에서 MariaDB 연결하는 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.30 - [Java] - [Java/Linux] 자바 Swing 활용 데이터베이스 MariaDB 연결 예제(JDCB 드라이버 연결)
자바 Swing 활용 쿼리 입력 Input Box와 실행 버튼, 실행 결과 출력 텍스트 박스 UI 만들기 예제
아래는 자바 Swing을 활용하여 쿼리 입력 Input Box, 실행 버튼, 실행 결과 출력 텍스트 박스 UI를 만드는 예제입니다. 이후 예제에서는 이 Input box에 조건이되는 문자열을 입력하여 select 쿼리를 실행할 예정입니다.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SelectDataExample extends JFrame {
private JTextField ageTextField;
private JButton selectButton;
private JTextArea resultTextArea;
private Connection conn;
public SelectDataExample() {
conn = getConn();
setTitle("MariaDB Select 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel ageLabel = new JLabel("나이 입력:");
ageTextField = new JTextField(15);
selectButton = new JButton("조회");
resultTextArea = new JTextArea(10, 30);
resultTextArea.setEditable(false);
selectButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
panel.add(ageLabel);
panel.add(ageTextField);
panel.add(selectButton);
JScrollPane scrollPane = new JScrollPane(resultTextArea);
panel.add(scrollPane);
add(panel);
}
public Connection getConn() {
Connection connection = null;
// MariaDB JDBC URL - 연결할 데이터베이스의 URL을 입력하세요.
String jdbcUrl = "jdbc:mysql://localhost:3306/test";
String username = "test";
String password = "test1234";
try {
// MariaDB 드라이버 로딩
Class.forName("org.mariadb.jdbc.Driver");
// 데이터베이스에 연결
connection = DriverManager.getConnection(jdbcUrl, username, password);
if (connection != null) {
System.out.println("MariaDB에 성공적으로 연결되었습니다.");
} else {
System.out.println("MariaDB 연결에 실패했습니다.");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SelectDataExample example = new SelectDataExample();
example.setVisible(true);
}
});
}
}
자바 MariaDB Select 쿼리 실행 후 Swing UI에 결과 출력 예제
아래는 자바에서 MariaDB Select 쿼리를 실행하고 그 결과를 Swing UI에 출력하는 예제입니다.
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class SelectDataExample extends JFrame {
private JTextField ageTextField;
private JButton selectButton;
private JTextArea resultTextArea;
private Connection conn;
public SelectDataExample() {
conn = getConn();
setTitle("MariaDB Select 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel ageLabel = new JLabel("나이 입력:");
ageTextField = new JTextField(15);
selectButton = new JButton("조회");
resultTextArea = new JTextArea(10, 30);
resultTextArea.setEditable(false);
selectButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
selectDataByAge();
}
});
panel.add(ageLabel);
panel.add(ageTextField);
panel.add(selectButton);
JScrollPane scrollPane = new JScrollPane(resultTextArea);
panel.add(scrollPane);
add(panel);
}
public void selectDataByAge() {
String inputAge = ageTextField.getText();
try {
String selectQuery = "SELECT * FROM employees WHERE age = ?";
PreparedStatement preparedStatement = conn.prepareStatement(selectQuery);
preparedStatement.setString(1, inputAge);
ResultSet resultSet = preparedStatement.executeQuery();
resultTextArea.setText(""); // 결과 텍스트를 초기화
while (resultSet.next()) {
String firstName = resultSet.getString("first_name");
String lastName = resultSet.getString("last_name");
int age = resultSet.getInt("age");
String resultText = "이름: " + firstName + " " + lastName + ", 나이: " + age + "\n";
resultTextArea.append(resultText);
}
} catch (SQLException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(this, "데이터 조회 중 오류 발생: " + ex.getMessage());
}
}
public Connection getConn() {
Connection connection = null;
// MariaDB JDBC URL - 연결할 데이터베이스의 URL을 입력하세요.
String jdbcUrl = "jdbc:mysql://localhost:3306/test";
String username = "test";
String password = "test1234";
try {
// MariaDB 드라이버 로딩
Class.forName("org.mariadb.jdbc.Driver");
// 데이터베이스에 연결
connection = DriverManager.getConnection(jdbcUrl, username, password);
if (connection != null) {
System.out.println("MariaDB에 성공적으로 연결되었습니다.");
} else {
System.out.println("MariaDB 연결에 실패했습니다.");
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return connection;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SelectDataExample example = new SelectDataExample();
example.setVisible(true);
}
});
}
}