Springのjdbcテンプレート呼び出しでSQL insertから@@ identityを取得することは可能ですか?もしそうなら、どうですか?identity from sql insert from jdbctemplate
答えて
JDBCTemplate.update
メソッドは、自動生成されたキーを取得するために使用できるGeneratedKeyHolderというオブジェクトを取得するためにオーバーロードされます。例えば(hereから取られたコード):SimpleJdbcInsert.executeAndReturnKeyについて
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
どのように?
でJava 8の本物のライナーを手に入れました。うわー、そのクラスについては本当に分かりませんでした。ありがとう。 +1 – javamonkey79
私はこのバージョンがPreparedStatementCreatorのバージョンよりも好きです。 – ruslanys
todd.pierzinaリンクでは見られない
jdbcInsert = new SimpleJdbcInsert(jdbcTemplate);
jdbcInsert.withTableName("TABLE_NAME").usingGeneratedKeyColumns(
"Primary_key");
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("Column_NAME1", bean.getval1());
parameters.put("Column_NAME2", bean.getval2());
// execute insert
Number key = jdbcInsert.executeAndReturnKey(new MapSqlParameterSource(
parameters));
// convert Number to Int using ((Number) key).intValue()
return ((Number) key).intValue();
私はこの例外に直面しています: org.springframework.dao.InvalidDataAccessResourceUsageException:このデータベースではgetGeneratedKeys機能がサポートされていません –
@ Az.MaYo - あなたの問題はJDBCドライバのバージョンに関連する可能性があります。 –
- 1. Microsoft SQL Server select select from insert
- 2. Oracle insert from function
- 3. ストリームinsert from java:templateSuffix
- 4. INSERT INTO table_a select * from table_b from doctrine2
- 5. jquery select from get()insert
- 6. SQL bcp from SQL fie
- 7. LINQ from sql join
- 8. SQL CLR SqlBulkCopy from DataTable
- 9. ASP.NET:SqlDataSource insert-identityパラメータ
- 10. rails from html from rack
- 11. forward from log4net from NLog
- 12. iPhone - presentModalViewController from right from
- 13. ERD from SQL Server CE 4.0
- 14. sql server 2005 'update from'クエリ
- 15. Select * from table not working SQL
- 16. sharepoint 2007 from sql server to oracle
- 17. RTF Extract from SQL Server 2008
- 18. Json from data.frame from data.frame R
- 19. FROM句
- 20. EF4 Oracle Identity Insert
- 21. INSERT問合せFROM句の結果列のSQL変数を格納します
- 22. insert into database.table1 select * from table2ここでid = some_value;
- 23. Observable Observable from Observable from Angular 2 in Typescript
- 24. Send Email From Database
- 25. ビューdb from eclipse
- 26. FROM `tableName`とFROM tableNameの違いは何ですか?
- 27. ImageUrl from site
- 28. Excel VBA ADO SQL - From句の構文エラー
- 29. SQLのfromとtoの値の順番
- 30. xml-data from text-column
それは私がここで探している "1つのライナー"になります。ニース。悲しいことに、私はリンクを見ていましたが、これによってこれを過ぎて光沢を帯びました: "JDBC 3.0標準の一部"。 (私はJDBC 3.0を使用しているとは思わないが、これも関係ないと思う)。 – javamonkey79
ラムダ\ n/ – fabwu