Swing JAVA Mysql 实现模糊查询代码
时间: 2023-11-11 15:04:19 浏览: 123
java模糊查询方法
以下是一个简单的 Swing Java MySQL 模糊查询代码示例:
```java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class FuzzySearch extends JFrame {
private JLabel label;
private JTextField textField;
private JButton button;
private JTextArea textArea;
private String url = "jdbc:mysql://localhost:3306/mydatabase";
private String username = "root";
private String password = "password";
private Connection conn;
public FuzzySearch() {
setTitle("Fuzzy Search");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
label = new JLabel("Enter name:");
textField = new JTextField(20);
button = new JButton("Search");
textArea = new JTextArea(10, 30);
panel.add(label);
panel.add(textField);
panel.add(button);
add(panel, BorderLayout.NORTH);
add(new JScrollPane(textArea), BorderLayout.CENTER);
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = textField.getText();
String query = "SELECT * FROM mytable WHERE name LIKE '%" + name + "%'";
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
textArea.setText("");
while (rs.next()) {
String result = rs.getString("name") + " - " + rs.getString("age") + "\n";
textArea.append(result);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
});
}
public static void main(String[] args) {
FuzzySearch fs = new FuzzySearch();
fs.setVisible(true);
}
}
```
在这个示例中,我们创建了一个简单的 Swing 窗口,其中包含一个标签、一个文本框、一个按钮和一个文本区域。我们使用 JDBC 驱动程序连接到 MySQL 数据库,并在按钮单击事件中执行模糊查询。查询语句使用 LIKE 运算符来匹配数据库中包含用户输入的任何字符序列的名称。查询结果将显示在文本区域中。
请注意,这只是一个简单的示例,你可能需要根据你的实际需求进行修改。另外,由于这个示例使用了简单的语句连接到数据库,因此可能存在 SQL 注入攻击的风险。在生产环境中,请使用 PreparedStatement 或其他安全的方法来避免这种情况。
阅读全文