📜  java mysql swing 示例 - SQL (1)

📅  最后修改于: 2023-12-03 15:15:57.257000             🧑  作者: Mango

Java MySQL Swing 示例 - SQL

本篇文章将介绍如何使用Java编写一个连接MySQL数据库并使用Swing图形界面进行数据查询、插入、修改和删除的示例程序,同时也会涉及一些SQL语句。

连接MySQL数据库

在使用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为连接地址,USERNAMEPASSWORD为登录MySQL的用户名和密码。

使用Swing图形界面

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窗口,并且包含查询、插入、修改和删除功能。

SQL语句

在Java中,执行SQL语句需要使用java.sql.Statementjava.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有所帮助。