使用Java对接Access数据库

在Java开发中,有时候需要使用Access数据库来存储数据。本文将介绍如何在Java程序中对接Access数据库,并进行数据的增删改查操作。

准备工作

在开始之前,首先需要安装ucanaccess驱动程序,因为Java本身不支持直接连接Access数据库。可以在Maven项目中添加以下依赖:

<dependency>
    <groupId>net.sf.ucanaccess</groupId>
    <artifactId>ucanaccess</artifactId>
    <version>5.0.1</version>
</dependency>

然后,在项目中引入相关的包:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

连接数据库

在Java程序中连接Access数据库,需要使用jdbc:ucanaccess作为连接字符串:

public class AccessDatabase {
    private static final String url = "jdbc:ucanaccess://C:/path/to/your/database.accdb";

    public static Connection getConnection() throws SQLException {
        return DriverManager.getConnection(url);
    }
}

查询数据

下面是一个简单的查询数据的示例:

public class Main {
    public static void main(String[] args) {
        try (Connection conn = AccessDatabase.getConnection();
             PreparedStatement ps = conn.prepareStatement("SELECT * FROM tableName");
             ResultSet rs = ps.executeQuery()) {
            while (rs.next()) {
                String name = rs.getString("name");
                int age = rs.getInt("age");
                System.out.println("Name: " + name + ", Age: " + age);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

插入数据

插入数据也很简单,只需要构建SQL语句并执行即可:

public class Main {
    public static void main(String[] args) {
        try (Connection conn = AccessDatabase.getConnection();
             PreparedStatement ps = conn.prepareStatement("INSERT INTO tableName (name, age) VALUES (?, ?)")) {
            ps.setString(1, "Alice");
            ps.setInt(2, 25);
            int rows = ps.executeUpdate();
            System.out.println(rows + " row(s) inserted.");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

更新和删除数据

更新和删除操作也类似,只需要修改SQL语句即可:

public class Main {
    public static void main(String[] args) {
        try (Connection conn = AccessDatabase.getConnection();
             PreparedStatement ps = conn.prepareStatement("UPDATE tableName SET age = ? WHERE name = ?")) {
            ps.setInt(1, 30);
            ps.setString(2, "Alice");
            int rows = ps.executeUpdate();
            System.out.println(rows + " row(s) updated.");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

总结

通过上述代码示例,我们学习了如何在Java程序中对接Access数据库,并进行数据的增删改查操作。使用ucanaccess驱动程序可以很方便地连接Access数据库,进行各种数据库操作。希望本文对你有所帮助!