java把文本框内容存到数据库里面怎么弄出来的呢
AI百科
2025年11月21日 23:27 254
admin
Java中如何将文本框内容存入数据库并显示
在Java开发中,将文本框的内容保存到数据库并能够重新读取展示是常见的需求,这涉及到前端(如Swing或JavaFX的文本框)与后端(数据库操作)的交互,本文将通过一个简单示例,介绍如何使用Java Swing获取文本框内容,并通过JDBC将其存储至MySQL数据库中,最后再从数据库读取并显示这些内容。

准备工作
-
安装MySQL数据库:确保已安装MySQL,并创建好目标数据库及表,创建一个名为
mydatabase的数据库,并在其中创建一个表user_info,包含字段id,name,message。
CREATE DATABASE mydatabase; USE mydatabase; CREATE TABLE user_info ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255), message TEXT ); -
添加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数据库,并从数据库中读取数据以供展示,这个过程包括了数据库的连接、数据的插入和查询等关键步骤。
相关文章

最新评论