首页 AI百科文章正文

java把文本框内容存到数据库里面怎么弄出来的呢

AI百科 2025年11月21日 23:27 254 admin

Java中如何将文本框内容存入数据库并显示

在Java开发中,将文本框的内容保存到数据库并能够重新读取展示是常见的需求,这涉及到前端(如Swing或JavaFX的文本框)与后端(数据库操作)的交互,本文将通过一个简单示例,介绍如何使用Java Swing获取文本框内容,并通过JDBC将其存储至MySQL数据库中,最后再从数据库读取并显示这些内容。

java把文本框内容存到数据库里面怎么弄出来的呢

准备工作

  1. 安装MySQL数据库:确保已安装MySQL,并创建好目标数据库及表,创建一个名为mydatabase的数据库,并在其中创建一个表user_info,包含字段id, name, message

    java把文本框内容存到数据库里面怎么弄出来的呢

     CREATE DATABASE mydatabase;
     USE mydatabase;
     CREATE TABLE user_info (
         id INT AUTO_INCREMENT PRIMARY KEY,
         name VARCHAR(255),
         message TEXT
     );

  2. 添加JDBC驱动依赖:如果是使用Maven构建项目,需在pom.xml中加入MySQL JDBC驱动依赖。

     <dependency>
         <groupId>mysql</groupId>
         <artifactId>mysql-connector-java</artifactId>
         <version>8.0.26</version>
     </dependency>

实现步骤

创建用户界面

使用Java Swing创建一个简单的GUI,包含一个文本框用于输入信息,一个按钮用于提交数据,以及一个文本区域用于显示从数据库读取的数据。

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
public class TextBoxToDB {
    private static JFrame frame;
    private static JTextField textField;
    private static JTextArea textArea;
    public static void main(String[] args) {
        frame = new JFrame("TextBox to DB Example");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLayout(new BorderLayout());
        textField = new JTextField();
        JButton submitBtn = new JButton("Submit");
        textArea = new JTextArea();
        textArea.setEditable(false);
        submitBtn.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String name = textField.getText(); // 假设用户名固定为"user"
                String message = textField.getText(); // 获取文本框内容
                saveToDatabase(name, message);
                loadFromDatabase();
            }
        });
        frame.add(textField, BorderLayout.NORTH);
        frame.add(submitBtn, BorderLayout.CENTER);
        frame.add(new JScrollPane(textArea), BorderLayout.SOUTH);
        frame.setVisible(true);
    }
    private static void saveToDatabase(String name, String message) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        try {
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
            String query = "INSERT INTO user_info (name, message) VALUES (?, ?)";
            preparedStatement = connection.prepareStatement(query);
            preparedStatement.setString(1, name);
            preparedStatement.setString(2, message);
            preparedStatement.executeUpdate();
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (preparedStatement != null) preparedStatement.close();
                if (connection != null) connection.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
    private static void loadFromDatabase() {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;
        try {
            connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
            String query = "SELECT * FROM user_info";
            preparedStatement = connection.prepareStatement(query);
            resultSet = preparedStatement.executeQuery();
            while (resultSet.next()) {
                String name = resultSet.getString("name");
                String message = resultSet.getString("message");
                textArea.append("Name: " + name + ", Message: " + message + "
");
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        } finally {
            try {
                if (resultSet != null) resultSet.close();
                if (preparedStatement != null) preparedStatement.close();
                if (connection != null) connection.close();
            } catch (SQLException ex) {
                ex.printStackTrace();
            }
        }
    }
}

本文通过一个具体的Java Swing应用示例,展示了如何将文本框中的用户输入保存到MySQL数据库,并从数据库中读取数据以供展示,这个过程包括了数据库的连接、数据的插入和查询等关键步骤。

丫丫技术百科 备案号:新ICP备2024010732号-62 网站地图