首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Java Derby中获取最后一次插入

在Java Derby中获取最后一次插入的方法是使用JDBC的getGeneratedKeys()函数。以下是一个完整的示例代码:

代码语言:txt
复制
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class DerbyExample {
    public static void main(String[] args) {
        try {
            // 连接到Derby数据库
            Connection conn = DriverManager.getConnection("jdbc:derby:myDB");

            // 创建表
            Statement stmt = conn.createStatement();
            stmt.executeUpdate("CREATE TABLE myTable (id INT GENERATED ALWAYS AS IDENTITY, name VARCHAR(50))");

            // 插入数据并获取自动生成的ID
            String insertQuery = "INSERT INTO myTable (name) VALUES (?)";
            PreparedStatement pstmt = conn.prepareStatement(insertQuery, Statement.RETURN_GENERATED_KEYS);
            pstmt.setString(1, "John");
            pstmt.executeUpdate();

            // 获取自动生成的ID
            ResultSet rs = pstmt.getGeneratedKeys();
            if (rs.next()) {
                int lastInsertId = rs.getInt(1);
                System.out.println("Last inserted ID: " + lastInsertId);
            }

            // 关闭连接
            rs.close();
            pstmt.close();
            stmt.close();
            conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,首先通过DriverManager.getConnection()方法连接到Derby数据库。然后使用Statement.executeUpdate()方法创建一个名为myTable的表。接下来,使用PreparedStatement对象执行插入操作,并通过Statement.RETURN_GENERATED_KEYS参数告知数据库返回自动生成的键。然后,通过PreparedStatement.getGeneratedKeys()方法获取自动生成的键的结果集。最后,通过ResultSet.getInt()方法获取最后一次插入的ID。

请注意,上述代码仅为示例,实际应用中需要根据具体情况进行适当的异常处理和资源释放。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券