文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java中怎么使用swing连接数据库

2023-08-25 14:31

关注

在Java中使用Swing连接数据库,需要借助JDBC(Java Database Connectivity)技术。以下是一个简单的例子,演示了如何使用Swing和JDBC连接MySQL数据库:

1. 导入必要的包:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
```

2. 创建Swing界面:
```java
public class DatabaseConnection extends JFrame {

   private JTextField tfName;

   private JTextArea taResult;

   private JButton btnConnect;

   public DatabaseConnection() {

       // 设置窗口

       super("Database Connection");

       

       // 创建组件

       tfName = new JTextField(20);

       taResult = new JTextArea();

       btnConnect = new JButton("Connect");

       

       // 添加事件监听器

       btnConnect.addActionListener(new ActionListener() {

           @Override

           public void actionPerformed(ActionEvent e) {

               connectToDatabase();

           }

       });

       

       // 创建面板并添加组件

       JPanel panel = new JPanel();

       panel.add(new JLabel("Name:"));

       panel.add(tfName);

       panel.add(btnConnect);

       

       // 设置文本区域属性

       taResult.setEditable(false);

       taResult.setLineWrap(true);

       

       // 添加组件到窗口

       Container container = getContentPane();

       container.setLayout(new BorderLayout());

       container.add(panel, BorderLayout.NORTH);

       container.add(new JScrollPane(taResult), BorderLayout.CENTER);

       

       // 设置窗口大小和可见性

       setSize(400, 300);

       setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

       setVisible(true);

   }

   private void connectToDatabase() {

       // 获取用户名

       String name = tfName.getText();

       

       // 连接数据库

       try {

           // 加载数据库驱动

           Class.forName("com.mysql.jdbc.Driver");

           

           // 创建连接

           Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "username", "password");

           

           // 执行查询

           Statement stmt = con.createStatement();

           ResultSet rs = stmt.executeQuery("SELECT * FROM users WHERE name = '" + name + "'");

           

           // 处理结果集

           while (rs.next()) {

               int id = rs.getInt("id");

               String resultName = rs.getString("name");

               String email = rs.getString("email");

               taResult.append("ID: " + id + ", Name: " + resultName + ", Email: " + email + "\n");

           }

           

           // 关闭连接

           rs.close();

           stmt.close();

           con.close();

       } catch (Exception e) {

           e.printStackTrace();

       }

   }

   public static void main(String[] args) {

       new DatabaseConnection();

   }
}
```

在上述代码中,通过JDBC加载MySQL数据库驱动,使用`DriverManager.getConnection()`方法连接数据库,然后使用查询语句执行查询,并处理结果集。最后关闭连接。

注意:上述代码中的数据库连接字符串(`jdbc:mysql://localhost:3306/mydatabase`)需要根据实际情况进行修改,以及数据库用户名和密码(`"username", "password"`)。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯