`
du_bo
  • 浏览: 41576 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类

Java与MYSQL连接的精典例子,用Swing显示

 
阅读更多

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class inensshow extends JFrame {


private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;

//GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;

public inensshow()
{
//Form的标题
super( "输入SQL语句,按查询按钮查看结果。" );

String url = "jdbc:mysql://localhost:3306/test";
String username = "root";
String password = "000000";
//加载驱动程序以连接数据库
try {
Class.forName( "org.gjt.mm.mysql.Driver" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
"装载 JDBC/ODBC 驱动程序失败。" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex ) {
System.err.println( "无法连接数据库" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果数据库连接成功,则建立GUI
//SQL语句
String test="SELECT * FROM about";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( "查询" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);

JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//将"输入查询"编辑框布置到 "CENTER"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将"提交查询"按钮布置到 "SOUTH"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将"topPanel"编辑框布置到 "NORTH"
c.add( topPanel, BorderLayout.NORTH );
//将"table"编辑框布置到 "CENTER"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//显示Form
show();
}

private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}

private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
"结果集中无记录" );
setTitle( "无记录显示" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}


private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
}

public void shutDown()
{
try {
//断开数据库连接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( "Unable to disconnect" );
sqlex.printStackTrace();
}
}

public static void main( String args[] )
{
final inensshow app = new inensshow();
app.addWindowListener( new WindowAdapter() { public void windowClosing( WindowEvent e )
{
app.shutDown();
System.exit( 0 );
}
}
);
}
}

分享到:
评论

相关推荐

    Java-Swing+Mysql+增删改查Demo

    总之,"Java-Swing+Mysql+增删改查Demo"是一个结合了Java GUI编程和数据库操作的实例,它展示了如何使用Swing构建用户界面,并通过MySQL进行数据管理,对于初学者来说,这是一个很好的学习资源,可以帮助理解Java...

    java Swing mysql实现的人事管理系统项目源码(有运行视频))

    连接数据库时,使用了JDBC(Java Database Connectivity)API,它为Java应用程序提供了与各种数据库通信的能力。 为了实现界面与数据库的交互,开发者可能会编写DAO(Data Access Object)层,这一层封装了所有对...

    java Swing mysql实现简单的购物系统项目源码.zip

    5. 数据库连接管理:使用Java的Connection对象建立和关闭与MySQL的连接,确保数据操作的正确性和资源的有效利用。 学习这个项目可以帮助你理解如何在实际项目中整合Java GUI和数据库技术。你可以通过阅读和分析源...

    Java界面连接MySQL

    Java界面连接MySQL是Java开发中的常见任务,主要涉及如何通过Java程序与MySQL数据库进行交互,以便执行查询、插入、更新和删除等操作。在Eclipse这样的集成开发环境中,这一过程通常包括设置数据库驱动、配置连接...

    java swing 写日记程序(连接MySQL,有说明文档)

    在“java swing 写日记程序(连接MySQL,有说明文档)”这个项目中,开发者使用Swing来创建了一个日记应用程序。这个程序允许用户在本地计算机上记录他们的日常想法和活动,并将这些数据存储到远程MySQL数据库中。...

    java+swing入门级增删改查源码

    Java Swing 是Java GUI(图形用户界面)开发的一个重要库,它是Java AWT...进一步,可以扩展此基础,学习更高级的Swing特性,如模型视图控制器(MVC)架构、SwingWorker进行异步处理,以及使用JDBC连接数据库等。

    Java Swing 简单的员工管理系统

    为了与MySQL交互,开发者可能使用了JDBC(Java Database Connectivity),这是Java标准API,允许Java程序与各种数据库进行通信。在本系统中,开发者可能编写了SQL语句(如INSERT, DELETE, UPDATE, SELECT)来操作...

    java swing实现的mysqlplus源代码

    总的来说,这个“java swing实现的mysqlplus源代码”是一个很好的学习资源,结合了Java Swing GUI编程和数据库操作,对于想要了解如何在Java环境中构建数据库管理工具的开发者来说,这是一个非常实用的例子。...

    Java实现飞机大战并连接数据库

    在本项目"Java实现飞机大战并连接数据库"中,我们主要关注的是如何使用Java编程语言来构建一个基于经典游戏“飞机大战”的应用,并且将游戏数据存储到数据库中,以便于实现持久化和多用户数据共享。这个项目涉及到的...

    java+mysql 小型超市系统源码

    根据提供的文件信息,可以看出这是一段Java代码,用于构建一个基于Java Swing图形用户界面的小型超市销售管理系统。此系统利用了MySQL数据库来存储数据。接下来,我们将深入分析这段代码涉及的关键知识点。 ### ...

    课设 银行管理系统 mysql加java界面

    本项目"课设——银行管理系统"便是一个典型的例子,主要运用了MySQL数据库和Java编程语言来构建。接下来,我们将深入探讨这个系统中的核心知识点。 一、MySQL数据库应用 MySQL是一种广泛使用的开源关系型数据库...

    java源码包---java 源码 大量 实例

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java用户登录界面并连接数据库(教师工资查询)

    4. **数据库连接**:使用JDBC(Java Database Connectivity)API连接数据库,如MySQL或Oracle。需要加载数据库驱动,建立连接,创建Statement或PreparedStatement对象,执行SQL查询,最后关闭连接。 5. **SQL查询**...

    java,mysql:快递e站代码

    在Java和MySQL的世界里,"快递e站代码"可能是一个示例项目,旨在帮助初学者了解如何使用Java连接和操作MySQL数据库。这个项目可能涵盖了Java基础、MySQL数据库基础以及JDBC(Java Database Connectivity)的使用。...

    JAVA連接MYSQL DATABASE

    本篇文章将详细探讨如何使用Java连接MySQL数据库,并进行基本的数据操作。 首先,我们需要理解JDBC的角色。JDBC是Java平台的标准接口,允许Java程序与各种数据库进行通信。它提供了一组规范,定义了如何在Java中...

    1小时学会通过Java Swing Design设计java图形化

    本教程将引导你快速掌握如何使用Java Swing来设计美观且功能丰富的Java图形化应用程序。 首先,Java Swing 提供了一套组件(JComponents),如按钮(JButton)、文本框(JTextField)、面板(JPanel)等,这些组件...

    java实现无限级分类树形,连接mysql数据库

    这里我们演示递归查询的例子,使用MySQL的WITH RECURSIVE语句: ```sql WITH RECURSIVE tree AS ( SELECT * FROM tree_nodes WHERE parent_id IS NULL UNION ALL SELECT t.* FROM tree_nodes t JOIN tree p ON t...

    JAVA例子源码可运行

    例子可能包括连接MySQL、Oracle等数据库,执行SQL语句的示例。 10. **反射与注解**:Java反射机制允许程序在运行时动态访问类的信息,而注解提供了一种元数据的方式,用于标记代码。例子可能涉及反射API的使用,...

    GUI 连接mysql的学生信息管理系统,全面简单提供大家学习。

    总的来说,这个学生信息管理系统项目是学习Java GUI编程和数据库连接的好例子,无论是初学者还是资深开发者,都能从中受益。通过实践这个项目,你可以提升你的编程技能,更好地理解和应用Java Swing和JDBC技术。

    Java基于Swing+JDBC的房屋租赁系统设计

    - JDBC是Java连接数据库的标准接口,允许开发者用SQL与多种数据库进行交互。 - 首先需要加载数据库驱动(如MySQL的com.mysql.jdbc.Driver)。 - Connection对象代表与数据库的连接。 - Statement或...

Global site tag (gtag.js) - Google Analytics