Java - 搜索数据库表中的最大ID

标签 java database

我有方法在数据库中搜索最大的 id 并返回该 id + 1

static int searchIdNewPlane(Connection con) {
    int maxId = 1;
    try {


        String query = "SELECT id FROM Plane ORDER BY id DESC Limit 1 ";

        PreparedStatement pst = con.prepareStatement(query);
        ResultSet rs = pst.executeQuery();
        while (rs.next()) {
            maxId = rs.getInt("id");

        }

        return maxId + 1;
    } catch (Exception e) {
        return 1;    //error
    }
}

这是解决问题的好主意吗?

最佳答案

根据数据库,更好的解决方案是使用序列。这种方法有一些固有的问题(不是线程安全的,...)。

关于Java - 搜索数据库表中的最大ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27064555/

相关文章:

java - 获取指向持久对象的指针

mysql - 如何使用 Resque 在父子之间共享 MySQL 连接?

database - mongodb没有在centOS 7上创建 super 用户?

带有选项卡的 Php 平面文件数据库

php - 处理大型(数千万行)数据集

java - 用于读/写 IPv6 地址范围以实现快速查找的高效数据结构是什么?

java - Java中的谓词

java - 无法从适配器中的静态上下文引用非静态变量

java - 如何从方法中正确处理异常?

mysql - Web 统计表的数据库字段