5

我正在使用普通的JDBC进行DAO层编程,因为我的Tomcat(服务托管)中的Java 内存只有 61.38 MB 。我在 MySQL 中有一个包含一列的表。当前的实现没有问题。但我想知道列中生成的值。AUTO_INCREMENTAUTO_INCREMENT

当前代码在插入新行的方法中如下所示。

public Integer store(MyBean bean) throws DAOException {
    Connection conn = null;
    PreparedStatement ps = null;
    try {
        conn = getConnection();
        ps = conn.prepareStatement("INSERT ...");
        if (bean.getSomeProperty() != null) {
            ps.setShort(1, bean.getSomeProperty());
        } else {
            ps.setNull(1, Types.SMALLINT);
        }

        /* Other fields */

        int rows = ps.executeUpdate();
        if (rows == 1) {
            // RETURN the generated value
        }
        return null;
    } catch (SQLException e) {
        throw new DAOException(e);
    } finally {
        ...
    }
}

我已经看到这是可能的Hibernate,但因为我的记忆力很小,所以不是一个可行的选择。

我很感激帮助。

4

1 回答 1

6

有两种方法:

于 2012-05-09T15:32:01.577 回答