sql >> データベース >  >> RDS >> Mysql

jdbctemplateを介してテーブルにレコードを挿入するときに、自動インクリメントされたIDを取得するにはどうすればよいですか。

    このリファレンスを確認してください。 jdbcTemplate.updateは次のように使用できます:

    編集 求められたとおりにインポートを追加しました

    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.SQLException;
    
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.jdbc.core.PreparedStatementCreator;
    import org.springframework.jdbc.support.GeneratedKeyHolder;
    import org.springframework.jdbc.support.KeyHolder;
    

    コードの使用法は次のとおりです。

    final String INSERT_SQL = "insert into my_test (name) values(?)";
    final String name = "Rob";
    KeyHolder keyHolder = new GeneratedKeyHolder();
    jdbcTemplate.update(
        new PreparedStatementCreator() {
            public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
                PreparedStatement ps =
                    connection.prepareStatement(INSERT_SQL, new String[] {"id"});
                ps.setString(1, name);
                return ps;
            }
        },
        keyHolder);
    // keyHolder.getKey() now contains the generated key
    


    1. 結果と合体テーブルに新しい列を追加します

    2. 未知の言語の多言語データを保存するためのMySQL照合

    3. 列数が異なる2つのテーブルを結合する

    4. SQL ServerのCEILING()の例