本文目录导读:
随着互联网的飞速发展,数据库技术已经成为各类应用程序的核心组成部分,Java作为一种流行的编程语言,具有跨平台、安全性高、易学易用等特点,在数据库开发领域有着广泛的应用,本文将详细介绍Java数据库增删改查的实现方法,并结合GUI显示技术,展示如何构建一个高效的数据管理系统。
Java数据库增删改查实现
1、连接数据库
我们需要使用JDBC(Java Database Connectivity)技术连接数据库,以下是一个连接MySQL数据库的示例代码:
图片来源于网络,如有侵权联系删除
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DBUtil { public static Connection getConnection() throws SQLException { String url = "jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf-8"; String user = "用户名"; String password = "密码"; return DriverManager.getConnection(url, user, password); } }
2、查询数据
查询数据是数据库操作中最常见的操作之一,以下是一个查询数据库中所有数据的示例代码:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class QueryData { public static void queryAll() { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = DBUtil.getConnection(); String sql = "SELECT * FROM 表名"; ps = conn.prepareStatement(sql); rs = ps.executeQuery(); while (rs.next()) { // 处理查询结果 } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
3、插入数据
插入数据是将数据添加到数据库中的操作,以下是一个向数据库中插入数据的示例代码:
图片来源于网络,如有侵权联系删除
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class InsertData { public static void insert(String name, int age) { Connection conn = null; PreparedStatement ps = null; try { conn = DBUtil.getConnection(); String sql = "INSERT INTO 表名 (姓名, 年龄) VALUES (?, ?)"; ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setInt(2, age); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
4、更新数据
更新数据是将数据库中已有的数据修改为新的数据,以下是一个更新数据库中数据的示例代码:
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class UpdateData { public static void update(String name, int age, int id) { Connection conn = null; PreparedStatement ps = null; try { conn = DBUtil.getConnection(); String sql = "UPDATE 表名 SET 姓名 = ?, 年龄 = ? WHERE ID = ?"; ps = conn.prepareStatement(sql); ps.setString(1, name); ps.setInt(2, age); ps.setInt(3, id); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
5、删除数据
删除数据是将数据库中已有的数据从数据库中移除的操作,以下是一个删除数据库中数据的示例代码:
图片来源于网络,如有侵权联系删除
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; public class DeleteData { public static void delete(int id) { Connection conn = null; PreparedStatement ps = null; try { conn = DBUtil.getConnection(); String sql = "DELETE FROM 表名 WHERE ID = ?"; ps = conn.prepareStatement(sql); ps.setInt(1, id); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (ps != null) ps.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }
GUI显示技术
在Java中,可以使用Swing或JavaFX等图形用户界面(GUI)技术来展示数据库数据,以下是一个使用Swing实现的数据展示界面示例:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DataDisplay extends JFrame { private JTable table; private Connection conn; public DataDisplay() { setTitle("数据展示"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); conn = DBUtil.getConnection(); String[] columnNames = {"ID", "姓名", "年龄"}; String sql = "SELECT * FROM 表名"; Object[][] data = fetchData(sql); table = new JTable(data, columnNames); JScrollPane scrollPane = new JScrollPane(table); add(scrollPane, BorderLayout.CENTER); JPanel buttonPanel = new JPanel(); JButton queryButton = new JButton("查询"); JButton insertButton = new JButton("插入"); JButton updateButton = new JButton("更新"); JButton deleteButton = new JButton("删除"); buttonPanel.add(queryButton); buttonPanel.add(insertButton); buttonPanel.add(updateButton); buttonPanel.add(deleteButton); add(buttonPanel, BorderLayout.SOUTH); queryButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 查询操作 } }); insertButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 插入操作 } }); updateButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 更新操作 } }); deleteButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // 删除操作 } }); pack(); setVisible(true); } private Object[][] fetchData(String sql) { Object[][] data = new Object[0][3]; PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); rs = ps.executeQuery(); ResultSetMetaData metaData = rs.getMetaData(); int columnCount = metaData.getColumnCount(); while (rs.next()) { Object[] row = new Object[columnCount]; for (int i = 1; i <= columnCount; i++) { row[i - 1] = rs.getObject(i); } data = appendRow(data, row); } } catch (SQLException e) { e.printStackTrace(); } finally { try { if (rs != null) rs.close(); if (ps != null) ps.close(); } catch (SQLException e) { e.printStackTrace(); } } return data; } private Object[][] appendRow(Object[][] data, Object[] row) { Object[][] newData = new Object[data.length + 1][row.length]; System.arraycopy(data, 0, newData, 0, data.length); newData[data.length] = row; return newData; } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new DataDisplay(); } }); } }
通过以上示例,我们可以将Java数据库增删改查与GUI显示技术融合,实现一个高效的数据管理系统,在实际应用中,可以根据需求对代码进行修改和扩展,以满足各种场景的需求。
标签: #java数据库增删改查
评论列表