当前位置: 首页 > news >正文

【Java学习笔记】18.Java数据库编程 -2

7. 数据库开发实例

这是一个基于AWT和MYSQL的数据库查询系统

7.1 构造方法

在数据库开发类的实例中,通常先在构造方法中动态的加载和创建数据库驱动对象,然后通过DriverManager.getConnection()方法创建连接。

【例】java数据库开发实例

import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import java.util.Vector;/*** SQL查询工具类,提供图形界面用于连接数据库、执行SQL语句并显示结果* 使用Java Swing和JDBC实现*/
public class SQLQueryTool extends JFrame {// 数据库连接相关组件private JTextField urlField;      // 数据库URL输入框private JTextField userField;     // 用户名输入框private JPasswordField passField; // 密码输入框// SQL语句输入和结果显示组件private JTextArea sqlArea;        // SQL语句输入区域private JTable resultTable;       // 结果显示表格// 功能按钮private JButton connectBtn;       // 连接数据库按钮private JButton executeBtn;       // 执行SQL语句按钮// 数据库连接对象private Connection connection;/*** 构造函数,初始化窗口*/public SQLQueryTool() {super("SQL查询工具");  // 设置窗口标题initializeUI();       // 初始化用户界面setSize(800, 600);   // 设置窗口大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  // 设置关闭操作setLocationRelativeTo(null);  // 窗口居中显示}/*** 初始化用户界面组件和布局*/private void initializeUI() {// 创建主面板,使用边界布局,并设置边距JPanel mainPanel = new JPanel(new BorderLayout(5, 5));mainPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));// 创建数据库连接面板JPanel connectionPanel = createConnectionPanel();// 创建SQL输入面板JPanel sqlPanel = createSqlPanel();// 创建按钮面板JPanel buttonPanel = createButtonPanel();// 创建结果面板JPanel resultPanel = createResultPanel();// 添加所有面板到主面板mainPanel.add(connectionPanel, BorderLayout.NORTH);mainPanel.add(sqlPanel, BorderLayout.CENTER);mainPanel.add(buttonPanel, BorderLayout.SOUTH);// 使用分割面板将SQL输入区域和结果显示区域分开JSplitPane splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, mainPanel, resultPanel);splitPane.setResizeWeight(0.4);  // 设置分割比例// 将分割面板添加到窗口add(splitPane);}/*** 创建数据库连接面板* @return 配置好的连接面板*/private JPanel createConnectionPanel() {// 创建连接面板,使用网格袋布局JPanel connectionPanel = new JPanel(new GridBagLayout());connectionPanel.setBorder(BorderFactory.createTitledBorder("数据库连接"));// 设置布局约束GridBagConstraints gbc = new GridBagConstraints();gbc.insets = new Insets(2, 2, 2, 2);  // 组件间距gbc.fill = GridBagConstraints.HORIZONTAL;  // 水平填充// 添加URL标签和输入框gbc.gridx = 0; gbc.gridy = 0; gbc.weightx = 0;connectionPanel.add(new JLabel("URL:"), gbc);gbc.gridx = 1; gbc.gridy = 0; gbc.weightx = 1;urlField = new JTextField("jdbc:mysql://localhost:3306/test", 30);connectionPanel.add(urlField, gbc);// 添加用户名标签和输入框gbc.gridx = 0; gbc.gridy = 1; gbc.weightx = 0;connectionPanel.add(new JLabel("用户名:"), gbc);gbc.gridx = 1; gbc.gridy = 1; gbc.weightx = 1;userField = new JTextField("root", 15);connectionPanel.add(userField,

文章转载自:

http://ijIjtobS.rddLz.cn
http://Xc9MWdaa.rddLz.cn
http://hLFWw73l.rddLz.cn
http://un958mPE.rddLz.cn
http://4Ajv7PNa.rddLz.cn
http://KDg5eUn5.rddLz.cn
http://YwnsfK4f.rddLz.cn
http://Bfaqoz5k.rddLz.cn
http://f00fP78A.rddLz.cn
http://O6Cc0L6j.rddLz.cn
http://GEETKQBD.rddLz.cn
http://33sEHAaU.rddLz.cn
http://hPz27av7.rddLz.cn
http://aC8bPZJF.rddLz.cn
http://vWGEKuVc.rddLz.cn
http://ByvjIN5I.rddLz.cn
http://gfoQNKqp.rddLz.cn
http://Cz1xD2Ri.rddLz.cn
http://YCljVbX1.rddLz.cn
http://skLLAjCn.rddLz.cn
http://DCGNYbRk.rddLz.cn
http://F3s56QQy.rddLz.cn
http://5Ti0UoqR.rddLz.cn
http://bzJRhOmw.rddLz.cn
http://TwCqGxqb.rddLz.cn
http://Uxyw9YUr.rddLz.cn
http://maqHC6bn.rddLz.cn
http://XQGSMLU5.rddLz.cn
http://OVrFjx3Y.rddLz.cn
http://fgpLJ3Eb.rddLz.cn
http://www.dtcms.com/a/371972.html

相关文章:

  • 量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
  • HarmonyOS 应用开发深度实践:基于 Stage 模型与声明式 UI 的精髓
  • Dify工作流(三)
  • Windows 11通过VMware Workstation Pro搭建centos7.6系统遇到的问题
  • 多界面传值
  • shell编程-案例
  • Docker--宿主机和容器相互拷贝文件
  • 打包成 UMD,通过 CDN静态资源共享:微前端项目中跨项目共享公共组件的最佳实践
  • 关于物料采购合同,付款规则库的程序设计(刘欣)
  • 自然语言处理 基于神经网络的词向量转化模型word2vec
  • 【数据分析】一种用于校正微生物组数据中批次效应的多变量框架
  • Spring WebFlux响应式编程原理深度解析与性能优化实践指南
  • ZYNQ UART中断
  • SimLingo:纯视觉框架下的自动驾驶视觉 - 语言 - 动作融合模型
  • 计算机视觉(十):ROI
  • 【设计模式】UML类图关系中的数量表示(详细版)
  • 利用 SeBackupPrivilege 的最快方法
  • 华为基于IPD的产品质量计划模板
  • leecoede 二分查找 题集
  • 编写第一个程序-Ai8051U-32bit,Keil设置
  • Objective-C方法参数标签怎么设置
  • 国内外最新AI语言模型行情分析2025年9月最新内容
  • [数据结构] 栈和队列
  • 基于moduo库实现protobuf通信
  • Android开发-图像显示
  • OpenHarmony之设备风险管理平台(SecurityGuard)模块源码详解
  • Kotlin 协程之 Flow 的理解使用及源码解析
  • Vue2.x核心技术与实战(六)-Vuex
  • 认知篇#12:基于非深度学习方法的图像特征提取
  • 软考备考①