📅  最后修改于: 2023-12-03 15:15:57.257000             🧑  作者: Mango
本篇文章将介绍如何使用Java编写一个连接MySQL数据库并使用Swing图形界面进行数据查询、插入、修改和删除的示例程序,同时也会涉及一些SQL语句。
在使用Java连接MySQL数据库之前,需要确保已经安装了MySQL,并且新建了一个数据库,例如本文中使用的数据库名为test
。
下面是Java代码片段,用于连接MySQL数据库:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class MySqlConnection {
private static final String URL = "jdbc:mysql://localhost:3306/test";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USERNAME, PASSWORD);
}
}
在程序中使用MySqlConnection.getConnection()
方法即可获得与MySQL数据库的连接。其中URL
为连接地址,USERNAME
和PASSWORD
为登录MySQL的用户名和密码。
Swing是Java的一个图形界面工具包,使用Swing可以很容易地创建GUI应用程序。
以下是Java代码片段,用于创建Swing图形界面:
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.awt.*;
public class SwingDemo extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextArea textArea;
public static void main(String[] args) {
EventQueue.invokeLater(() -> {
try {
SwingDemo frame = new SwingDemo();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
});
}
public SwingDemo() {
setTitle("Java MySQL Swing 示例 - SQL");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 600, 400);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel lblNewLabel = new JLabel("输入SQL语句:");
lblNewLabel.setBounds(10, 10, 100, 20);
contentPane.add(lblNewLabel);
textField = new JTextField();
textField.setBounds(120, 10, 400, 20);
contentPane.add(textField);
textField.setColumns(10);
JButton btnNewButton = new JButton("查询");
btnNewButton.addActionListener(e -> {
// 查询数据
});
btnNewButton.setBounds(10, 40, 80, 23);
contentPane.add(btnNewButton);
JButton btnNewButton_1 = new JButton("插入");
btnNewButton_1.addActionListener(e -> {
// 插入数据
});
btnNewButton_1.setBounds(100, 40, 80, 23);
contentPane.add(btnNewButton_1);
JButton btnNewButton_2 = new JButton("修改");
btnNewButton_2.addActionListener(e -> {
// 修改数据
});
btnNewButton_2.setBounds(190, 40, 80, 23);
contentPane.add(btnNewButton_2);
JButton btnNewButton_3 = new JButton("删除");
btnNewButton_3.addActionListener(e -> {
// 删除数据
});
btnNewButton_3.setBounds(280, 40, 80, 23);
contentPane.add(btnNewButton_3);
JScrollPane scrollPane = new JScrollPane();
scrollPane.setBounds(10, 70, 560, 280);
contentPane.add(scrollPane);
textArea = new JTextArea();
scrollPane.setViewportView(textArea);
}
}
以上代码创建了一个可以输入SQL语句并执行的Swing窗口,并且包含查询、插入、修改和删除功能。
在Java中,执行SQL语句需要使用java.sql.Statement
或java.sql.PreparedStatement
接口。
下面是Java代码片段,用于执行SQL语句:
import java.sql.*;
public class SqlDemo {
public static void main(String[] args) throws SQLException {
Connection conn = MySqlConnection.getConnection();
Statement statement = conn.createStatement();
// 查询数据
ResultSet resultSet = statement.executeQuery("SELECT * FROM user");
// 插入数据
int count = statement.executeUpdate("INSERT INTO user(username, password) VALUES ('test', 'test')");
// 修改数据
int count = statement.executeUpdate("UPDATE user SET password='new' WHERE username='test'");
// 删除数据
int count = statement.executeUpdate("DELETE FROM user WHERE username='test'");
statement.close();
conn.close();
}
}
以上代码展示了如何使用Statement
接口执行SQL语句,包括查询、插入、修改和删除。
对于需要使用参数的SQL语句,可以使用PreparedStatement
接口。
以下是Java代码片段,用于使用PreparedStatement
接口执行SQL语句:
import java.sql.*;
public class SqlDemo {
public static void main(String[] args) throws SQLException {
Connection conn = MySqlConnection.getConnection();
// 使用PreparedStatement执行查询语句
PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE username = ?");
ps.setString(1, "test");
ResultSet resultSet = ps.executeQuery();
// 使用PreparedStatement执行插入语句
PreparedStatement ps = conn.prepareStatement("INSERT INTO user(username, password) VALUES (?, ?)");
ps.setString(1, "test");
ps.setString(2, "test");
int count = ps.executeUpdate();
// 使用PreparedStatement执行修改语句
PreparedStatement ps = conn.prepareStatement("UPDATE user SET password = ? WHERE username = ?");
ps.setString(1, "new");
ps.setString(2, "test");
int count = ps.executeUpdate();
// 使用PreparedStatement执行删除语句
PreparedStatement ps = conn.prepareStatement("DELETE FROM user WHERE username = ?");
ps.setString(1, "test");
int count = ps.executeUpdate();
ps.close();
conn.close();
}
}
以上代码展示了如何使用PreparedStatement
接口执行带参数的SQL语句,包括查询、插入、修改和删除。
本文介绍了如何使用Java连接MySQL数据库,并创建Swing图形界面进行数据查询、插入、修改和删除,同时也涉及了一些SQL语句的使用。希望可以对Java程序员学习MySQL和Swing有所帮助。