목차
- 자바 MariaDB 연결하기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 MariaDB Create 쿼리 테이블 생성 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 MariaDB Insert 쿼리 값 추가하기 예제 이전 포스팅 참고 학습
- 자바 Swing 활용 업데이트 위한 값 입력 Input Box, 버튼 UI 만들기 예제
- 자바 Swing 활용 버튼 클릭시 MariaDB Update 쿼리 실행하여 값 수정 예제
자바 MariaDB 연결하기 예제 이전 포스팅 참고 학습
자바에서 MariaDB와 연결하는 방법은 이전 포스팅을 참고하여 학습해주세요. MariaDB와의 연결은 JDBC(Java Database Connectivity)를 사용하여 구현하며, 데이터베이스와 통신하기 위한 기본 단계입니다. javac와 같은 컴파일 명령어로 일반적인 방법을 사용하여 컴파일하면 jdbc 관련 api를 사용할 수 없습니다. 반드시 javac 컴파일시 jdbc 라이브러리를 연결시켜줘야합니다. 해당 내용이 궁금하시다면 아래 링크를 참고해주세요.
2023.09.30 - [Java] - [Java/Linux] 자바 Swing 활용 데이터베이스 MariaDB 연결 예제(JDCB 드라이버 연결)
자바 Swing 활용 MariaDB Create 쿼리 테이블 생성 예제 이전 포스팅 참고 학습
자바 Swing을 활용하여 MariaDB에서 테이블을 생성하는 쿼리를 실행하는 예제를 이전 포스팅을 통해 학습해주세요. MariaDB 클라이언트 프로그램을 통해 테이블을 생성할 수도 있지만 자바 프로그램에서 동적으로 상황에 따라 다른 테이블을 생성하기 위해서는 소스 코드 내에서 DB 서버로 create 쿼리를 전송해야합니다. 따라서 자바에서 MariaDB Create 테이블 명령 실행 방법이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.05 - [Java] - [Java/Linux] 자바 Swing 활용 데이터베이스 MariaDB Create 테이블 생성 예제
자바 Swing 활용 MariaDB Insert 쿼리 값 추가하기 예제 이전 포스팅 참고 학습
자바 Swing을 활용하여 MariaDB에 데이터를 삽입하는 예제를 이전 포스팅을 통해 학습해주세요. 위 예제들은 MariaDB에 연결하거나 테이블을 조작하기 위한 생성 예제라면 실제 값을 테이블에 생성하는 예제도 이전 포스팅에서 다루었습니다. 특히 자바의 Swing 라이브러리를 활용하여 사용자에게 값을 입력 받는 Input Box 등의 UI도 생성하는 예제가 포함되어있습니다. 해당 내용이 궁금하시다면 아래 링크를 참고해주세요.
2023.10.05 - [Java] - [Java/Linux] 자바 Swing 활용 데이터베이스 MariaDB Insert 쿼리 및 결과 출력 예제
자바 Swing 활용 업데이트 위한 값 입력 Input Box, 버튼 UI 만들기 예제
아래는 자바 Swing을 사용하여 업데이트를 위한 값 입력 상자와 버튼을 생성하는 UI를 만드는 예제입니다. 해당 Input Box에 나이를 입력하고 버튼을 누르면 MariaDB 서버에 Update 쿼리를 전송할 예정입니다.
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.SQLException;
public class UpdateDataExample extends JFrame {
private JTextField ageTextField;
private JButton updateButton;
private Connection conn;
public UpdateDataExample() {
conn = getConn();
setTitle("MariaDB Update 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel ageLabel = new JLabel("나이 입력:");
ageTextField = new JTextField(15);
updateButton = new JButton("업데이트");
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
panel.add(ageLabel);
panel.add(ageTextField);
panel.add(updateButton);
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() {
UpdateDataExample example = new UpdateDataExample();
example.setVisible(true);
}
});
}
}
자바 Swing 활용 버튼 클릭시 MariaDB Update 쿼리 실행하여 값 수정 예제
아래는 자바 Swing을 활용하여 버튼 클릭 시 MariaDB에서 Update 쿼리를 실행하여 데이터를 수정하는 예제입니다.
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.SQLException;
public class UpdateDataExample extends JFrame {
private JTextField ageTextField;
private JButton updateButton;
private Connection conn;
public UpdateDataExample() {
conn = getConn();
setTitle("MariaDB Update 예제");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 150);
JPanel panel = new JPanel();
panel.setLayout(new FlowLayout());
JLabel ageLabel = new JLabel("나이 입력:");
ageTextField = new JTextField(15);
updateButton = new JButton("업데이트");
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateData();
}
});
panel.add(ageLabel);
panel.add(ageTextField);
panel.add(updateButton);
add(panel);
}
public void updateData() {
String inputAge = ageTextField.getText();
try {
String updateQuery = "UPDATE employees SET first_name=?, last_name=? WHERE age=?";
PreparedStatement preparedStatement = conn.prepareStatement(updateQuery);
preparedStatement.setString(1, "UpdatedFirstName");
preparedStatement.setString(2, "UpdatedLastName");
preparedStatement.setString(3, inputAge);
int rowsUpdated = preparedStatement.executeUpdate();
if (rowsUpdated > 0) {
JOptionPane.showMessageDialog(this, "데이터가 업데이트되었습니다.");
ageTextField.setText("");
} else {
JOptionPane.showMessageDialog(this, "일치하는 데이터가 없습니다.");
}
} 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() {
UpdateDataExample example = new UpdateDataExample();
example.setVisible(true);
}
});
}
}